我有这个数据框
Poverty White Black Native_American
CHSI_State_Name
Alabama 17.085075 69.795522 28.510448 0.570149
Alaska 12.144444 54.485185 1.174074 36.159259
Arizona 16.840000 81.086667 1.886667 14.813333
...
我画这样的人物:
fig, ax = plt.subplots()
poverty.plot(ax = ax, figsize = (16, 8))
ax.set_xticklabels(poverty.index, rotation = 90)
fig.savefig('output7.png', xbbox_inches = 'tight')
我希望文件在每个值(所有状态)下都有状态名称,但是它只有少数差距很大。
我做错了什么?谢谢!
答案 0 :(得分:1)
这似乎是这样做的:
ax.set_xticklabels(poverty.index, rotation = 90)
ax.set_xticks(range(len(poverty.index)))
答案 1 :(得分:1)
代码中的问题是
ax.set_xticklabels(poverty.index, rotation = 90)
在数据范围上设置xticklabels
。如果您的数据范围从10到16,它将把名称放在10,11,12,13,14和15上。
您也不想在每个整数xtick
上放置标签,而是要指定标签的位置/顺序。
使用
ax.set_xticks(range(len(poverty.index)))
您指定的范围与poverty.index
一样大,以确保每个标签都位于您的地块内。
答案 2 :(得分:0)
尝试使用以下代替ax.set_xticklabels(poverty.index, rotation = 90)
locs, labels = plt.xticks()
plt.setp(labels, rotation=90)
对我而言,它符合预期的行为。但实际上我不知道你的方法是如何工作的。这是一项提案解决方法。希望有所帮助。