我有几个不同的条形图图形生成不同数量的条形图。因此,图形的总宽度和高度各不相同,但我希望所有条形图的条形图尺寸一致。在

到目前为止,我尝试的是根据条形图的数量调整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')

结果是:

kQjU6.pngOgT11.png

如果我们使用GIMP将两者重叠,我们可以清楚地注意到条宽度的差异:

hnglv.png

我怎样才能保证这些条的宽度相同,不管条数是多少?在

我正在使用matplotlib 2。在

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐