繁体   English   中英

在Matplotlib,ipython中移动x标签

[英]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')

这是当前输出的样子

图表1

您几乎应该永远不要使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM