我有几个不同的条形图图形生成不同数量的条形图。因此,图形的总宽度和高度各不相同,但我希望所有条形图的条形图尺寸一致。在
到目前为止,我尝试的是根据条形图的数量调整figsize的大小。这似乎并不总是有效。在
下面是一个示例代码:nb_bars_list = [2, 10]
for i, nb_bars in enumerate(nb_bars_list):
# Resize proportionally to the number of bars
figsize = [1+nb_bars, 5]
# Prepare the ticks
ticks = np.arange(1, 1+nb_bars, 1)
# Generate random points
points = [np.random.randn(10) for x in xrange(nb_bars)]
# Make the plot
fig, ax = plt.subplots()
if figsize:
fig.set_size_inches(figsize[0], figsize[1], forward=True)
for b in xrange(nb_bars):
ax.bar(ticks[b], points[b].mean())
fig.savefig('test%i' % i, bbox_inches='tight')
结果是:
如果我们使用GIMP将两者重叠,我们可以清楚地注意到条宽度的差异:
我怎样才能保证这些条的宽度相同,不管条数是多少?在
我正在使用matplotlib 2。在