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

And*_*son 3 python matplotlib bar-chart

更改宽度以缩小条形之后,它移到了侧面。如何删除它们之间的间距。理想情况下,我想居中,但文档中似乎没有参数可以设置。手动缩放图片也不会减少此差距。

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()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

Ser*_*ity 5

列表y_pos将条的位置设置为0和1,然后将宽度设置为.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()
Run Code Online (Sandbox Code Playgroud)

我希望有更灵活,更优雅的解决方案。 在此处输入图片说明