此问题已在此处有答案:
How to rotate x-axis tick labels in a pandas plot(5个答案)
Rotate axis tick labels(13个回答)
14天前关闭
我似乎无法让x轴上的标签旋转90度。
实施例df:
import pandas as pd
import matplotlib.pyplot as plt
d = ({
'A' : ['1','1','2','2','3','3','3'],
'B' : ['A','B','C','C','D','B','C'],
'C' : ['Foo','Bar','Foo','Bar','Cat','Bar','Cat'],
})
df = pd.DataFrame(data=d)
fig,ax = plt.subplots(figsize = (9,4))
df.assign(A=df.A.astype(int)).pivot_table(index="C", columns="B", values="A",aggfunc='count').rename_axis(None).rename_axis(None,1).plot(kind='bar')
plt.show()
我尝试了基本的:
plt.xticks(rotation = 90)
也尝试了这个,但它返回一个属性错误:
df.assign(A=df.A.astype(int)).pivot_table(index="C", columns="B", values="A",aggfunc='count').rename_axis(None).rename_axis(None,1).plot(kind='bar', rotation = 90)
我已经得到了标签旋转通过这个:
xticklabels = df.C.unique()
ax.set_xticklabels(xticklabels, rotation = 0)
但它返回不正确的排序。它只接受出现的值。而不是确定合适的标签
2条答案
按热度按时间vs91vp4v1#
我运行下面的代码来生成Angular 为0的标签。我不明白为什么会生成两个图,所以我删除了行
fig,ax = plt.subplots()
uelo1irk2#
可以通过创建子图和配置标签设置来控制xticks标签,如下所示:
输出将是:
还有一件事,我认为你需要0度旋转,因为默认值是90度。