问题:
我正在尝试在条形图子图中显示所有标签。我已经尝试过answer和answer中的所有操作,但是没有运气。
数据:
data = StringIO("""
Index-- --Rk Passing-Player Passing-Cmp Passing-Att Passing-Pct Passing-Yds Passing-Y/A Passing-AY/A Passing-TD Passing-Int Passing-Rate
0 0 1 Patrick Mahomes 364 573 63.5 4653 8.1 8.2 36 15 147.2
1 1 2 Davis Webb 22 41 53.7 300 7.3 8.3 2 0 131.2
2 2 3 Nic Shimonek 1 2 50.0 18 9.0 9.0 0 0 125.6
3 3 4 Jakeem Grant 1 1 100.0 72 72.0 92.0 1 0 1034.8
4 4 5 Jonathan Giles 1 1 100.0 3 3.0 3.0 0 0 125.2
5 5 6 Ian Sadler 0 1 0.0 0 0.0 0.0 0 0 0.0
""")
df = pd.read_table(data, delim_whitespace=True)
dfs = [df] * 9
绘图代码:
fig, axs = plt.subplots(3,3, figsize=(10,10), sharey=True, sharex=False)
for ax,df in zip(axs.ravel(), dfs):
ax.bar(df['Passing-Player'], df['Passing-Yds'])
for tick in ax.get_xticklabels():
tick.set_visible(True)
fig.autofmt_xdate(rotation=90)
fig.tight_layout(pad=2.0, w_pad=2.0, h_pad=10.0)
fig.savefig("tester.png")
结果:
如何显示所有x轴标签,因为在我的真实数据中,每个情节的玩家名称都不相同。
答案 0 :(得分:4)
由于您不使用日期,因此需要删除fig.autofmt_xdate(rotation=90)
,并使用ax.set_xticklabels(labels_go_here, rotation=90)
fig, axs = plt.subplots(3,3, figsize=(10,10), sharey=True, sharex=False)
for ax, df in zip(axs.ravel(), dfs):
ax.bar(df['Passing-Player'], df['Passing-Yds'])
ax.set_xticklabels(df['Passing-Player'], rotation=90)
fig.tight_layout(pad=2.0, w_pad=2.0, h_pad=10.0)
plt.show()