作为使用matplotlib
的新手,我在网上找到的示例中尝试了一些代码。我使用了很多constants
来调整绘图元素的尺寸。我发现在适当地命名常量时我很茫然。
例如,从一对x_list和y_list
创建条形图时缩放图宽
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])
...
有人可以为这些常量提供更好的名称吗?我在任何书籍或教程中都找不到它们的技术名称......试着想出一些我自己看起来很傻......
此外,当调用axes.bar()函数时,
ax.bar(xlist, ylist, width=BAR_WIDTH,align='center',color='yellow')
我试图为BAR_WIDTH(.5,1,1.5 ..)提供几个值,并发现.5导致一个条占据2个xt之间的空间的一半
值为1会导致所有条形图彼此接触
1.5会导致条重叠。
那么,这个数值是什么意思?它是否代表两个xticks之间的一定比例的空间?
答案 0 :(得分:2)
首先,我发现绘图数字通常是一个混乱的业务,而且我的代码通常看起来不太好。多年来它变得越来越好,但最终,要获得一个生产级的情节,总会有人调整。这将包括许多常量,这些常量可能没有'正确'的名称,就像你上面使用的那些。与往常一样,只是尝试给他们有用的名字。所以我打电话给他们
DIVISION_CONSTANT --> width_scale
width_scale --> fig_width
ANOTHER_DIVISION_CONSTANT --> step_scale
DISTANCE_FROM_ORIGIN --> x_limits
但这只是品味问题,不是对错。 (不要使用大写字母,但这可能仅用于演示目的)。
然后,plt.bar图的宽度参数以xlist为单位而不是百分比。