使用Pandas绘图,x轴刻度

2 投票
1 回答
4914 浏览
提问于 2025-04-18 05:25

我有一个 pandas 的数据表,结构如下:

  A B C
0 1 1 1
1 1 2 2
2 1 3 3
. . . .

现在,在进行排序操作后,我想画出比如说 B 列的数据。我在 pandas 中使用了以下命令:

df['B'].head(10).plot(kind='bar')

一切都很好,但 pandas 在 x 轴上使用的是第一个 没有名字 的列的值。我想用 C 列的值来 重命名 x 轴上的值。起初我尝试使用 xticks=df['C'] 或者直接 x=df['C'],但结果都不太理想……我很抱歉,目前我无法发布我的图,因为我的声望不够……

1 个回答

4

plot() 会把你给它的所有(额外的)参数传递给原来的 plt.plot()

已移除

df = pd.DataFrame([[1, 1, 1],[1, 2, 2], [1, 3, 3]], columns=['A', 'B', 'C'])
df['B'].plot(kind='bar')

这些命令的返回结果正是我预期的。'B' 的值是条形图的高度,而 x 值是数据框的索引。查阅手册后,我发现我之前错误地把 left 说成是数据。为了给它加标签,你需要这样做(或类似的操作):

ax = df['B'].plot(kind='bar')
ax.set_xticklabels(list(df['C']))

撰写回答