[英]Shifting x labels in Matplotlib, Ipython
我正在尝试在ipython笔记本中使用matplotlib在一个输出中制作三个图表。 当我输出图表时,第一个图表是正确的,但是在第二个和第三个图表上,x标签弄乱了,在第二个和第三个图表中有更多单元格。 我希望他们都统一。
fig, axs = plt.subplots(1,3, figsize=(15,10))
ax0, ax1, ax2 = axs.flat
labels = ['Asian', 'Black', 'Hispanic', 'Unknown', 'White']
day1M = day1df[(day1df.Gender == "M")]
day15M = day15df[(day15df.Gender == "M")]
day30M = day30df[(day30df.Gender == "M")]
grouped1 = day1M.groupby("Race").size()
grouped15 = day15M.groupby("Race").size()
grouped30= day30M.groupby("Race").size()
x = range(len(grouped1))
ax0.bar(x, grouped1)
ax0.set_xticklabels(labels, rotation='vertical')
x = range(len(grouped15))
ax1.bar(x, grouped15)
ax1.set_xticklabels(labels, rotation='vertical')
x = range(len(grouped30))
ax2.bar(x, grouped30)
ax2.set_xticklabels(labels, rotation='vertical')
这是当前输出的样子
您几乎应该永远不要使用set_xticklabels
因为它(在FixedFormatter
)仅使用FixedFormatter
来标记标签。 如果您还没有将定位器设置为FixedLocator
,则将刻度标签依次应用于刻度。
从mpl 1.5开始, bar
(docs)有一个tick_label
kwarg,它将自动标记您的酒吧。 我怀疑你想做类似的事情
ax.bar(x, data, tick_label=labels, align='center')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.