2011-08-19 32 views
0

作为使用matplotlib的新手,我尝试了一些代码,这些代码来自我在网上找到的示例。我使用了很多constants来调整绘图元素的尺寸。我发现我很茫然,因为它正确地命名了常量。创建从一对x_list和y_list使用matplotlib时的常量值的专有名称,

的条形图时按比例绘制图中宽度

DIVISION_CONSTANT = 4 
width_scale = len(y_list)/DIVISION_CONSTANT 
size_of_figure = (8*width_scale,6) 
figure = pylab.figure(figsize = size_of_figure) 
... 

限制ylimit和yticks数量

例如

ANOTHER_DIVISION_CONSTANT = 10 
max_y = max(ylist) 
step = max_y/ANOTHER_DIVISION_CONSTANT 
... 
ax.set_yticks(range(0,max_y+ystep,ystep)) 
ax.set_ylim(0,max_y+ystep) 

同时设定xlimits距原点的距离

DISTANCE_FROM_ORIGIN = .5 
ax.set_xlim([min(xlist) - DISTANCE_FROM_ORIGIN, max(xlist) + DISTANCE_FROM_ORIGIN]) 
... 

有人可以提供更好的名字,这些常量?我找不到他们在任何一本书的技术名称或tutorial..and试图想出一些我自己看来愚蠢..

此外,当axes.bar()函数被调用,

ax.bar(xlist, ylist, width=BAR_WIDTH,align='center',color='yellow') 

我试着给几个值BAR_WIDTH(.5,1,1.5 ..),发现0.5导致酒吧占据2个xticks之间一半的空间

值为1会导致所有条纹相互接触

1.5导致条重叠。

那么,这个数值的含义是什么?它代表两个xticks之间的一定比例的空间吗?

回答

2

首先,我发现绘图数字通常是一个混乱的业务,而且我的代码通常不太好看。多年来它变得越来越好,但最终得到一个生产级的情节总会有人调整。这将包括许多常量,可能没有“正确”的名字,就像你在上面使用的名字。一如既往,试着给他们一些有用的名字。所以我打电话给他们

DIVISION_CONSTANT --> width_scale 
width_scale --> fig_width 
ANOTHER_DIVISION_CONSTANT --> step_scale 
DISTANCE_FROM_ORIGIN --> x_limits 

但这只是一个品味的问题,而不是正确或错误的问题。 (不要使用大写字母,但大概只是在这里用于演示目的)。

然后,plt.bar图的宽度参数以xlist为单位而不是百分比。