这是我的数据
a3=pd.DataFrame({'OfficeName':['a','b','c','d','e','f','g','h'],
'Ratio': [0.1,0.15,0.2,0.3,0.2,0.25,0.1,0.4]})
这是我绘制条形图的代码:
fig, ax = plt.subplots()
ind = np.arange(a3.loc[:,'OfficeName'].nunique()) # the x locations for the groups
width = 0.35 # the width of the bars
p1 = ax.bar(ind,a3.loc[:,'Ratio'],width)
ax.set_title('Ratio of refunds to purchases')
ax.set_xticklabels(a3.loc[:,'OfficeName'],ha='center')
#ax.set_xticklabels(['a','b','c','d','e','f','g','h'],ha='center')
ax.set_xlabel('x Group')
ax.set_ylabel('Ratio')
plt.show()
但是,在我的图表中缺少第一个x标签:
我认为这个问题与Matplotlib: Move x-axis tick labels one position to left不同,因为我什至不需要旋转x标签。
谁能解释为什么会发生这种情况以及如何解决?
答案 0 :(得分:1)
有一种更简单的方法可以在熊猫中生成条形图:
a3.set_index('OfficeName').plot.bar(width=0.35, legend=False)
plt.xticks(rotation=0, ha='center')
(您仍然需要设置x和y轴标签以及标题。)