如何在柱状图中删除条形之间的x轴间距?

3

将宽度更改以使条形图更小后,它已向两侧移动。如何消除它们之间的间隔。理想情况下,我希望居中显示,但是似乎文档中没有可设置的参数。手动缩放图片也不会减少此间隙。

import numpy as np
import matplotlib.pyplot as plt

objects = ('bar1', 'bar2')
y_pos = np.arange(len(objects))
performance = [2,6] 
stds=[0.3,0.5]
plt.bar(y_pos, performance, 0.3, align='center', yerr=stds,capsize=5, alpha=0.5)
plt.xticks(y_pos, objects)
plt.ylabel('Time (seconds)')
plt.show()

enter image description here


使用 plt.figure(1, figsize=(width, height)),其中 widthheight 表示图像的尺寸(单位为英寸)。 - Flomp
@Flomp,不幸的是,即使使用极端值,差距仍然存在。 - Anderson
1个回答

6

列表y_pos将条形位置设置为0和1,然后将宽度设置为0.3,间隙为0.7。

您必须使用特定值替换y_pos以使您的条形彼此靠近:第一条应该在width/2位置,第二条应该在1.5 * width位置。 然后,您需要使用xlim方法选择x轴的最佳限制,以使条形居中。

import numpy as np
import matplotlib.pyplot as plt

objects = ('bar1', 'bar2')
w = 0.3
y_pos = (w/2.,w*1.5)
performance = [2,6] 
stds=[0.3,0.5]
plt.bar(y_pos, performance, width=w, align='center', yerr=stds,capsize=5, alpha=0.5)
plt.gca().set_xlim([-1.,1.5])
plt.xticks(y_pos, objects)
plt.ylabel('Time (seconds)')
plt.show()

我希望有更加灵活和优雅的解决方案。 这里输入图片描述

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接