python - 在使用 pandas plot 方法创建的图表上格式化 x 轴

标签 python pandas matplotlib plot

pandas.DataFrame.plot 是一种从数据框中绘制数据的便捷方法。但是,我不明白如何使用这种方法来格式化轴。例如,

import pandas as pd
import datetime

df = pd.DataFrame(index =  [datetime.datetime(2016, 7, 2, 0, 0),
                    datetime.datetime(2016, 8, 6, 0, 0),
                    datetime.datetime(2016, 9, 13, 0, 0),
                    datetime.datetime(2016, 10, 26, 0, 0),
                    datetime.datetime(2016, 11, 2, 0, 0)],
                    data = {'total' : [5, 3, 1, 0, 2]})

df

输出

          total
2016-07-02  5
2016-08-06  3
2016-09-13  1
2016-10-26  0
2016-11-02  2

现在用 pandas plot 方法绘图:

df.plot(kind='bar')

example bar chart

我更希望 x 轴只将标签作为月份的三个字母格式 - Jul Aug Sep Oct Nov.

这是否可以通过 pandas plot 方法实现,或者我应该使用 matplotlib 构建图表?

最佳答案

我找到了一种更简单的方法来将 x 标签更改为仅月份。

import pandas as pd
import datetime

df = pd.DataFrame(index =  [datetime.datetime(2016, 7, 2, 0, 0),
                    datetime.datetime(2016, 8, 6, 0, 0),
                    datetime.datetime(2016, 9, 13, 0, 0),
                    datetime.datetime(2016, 10, 26, 0, 0),
                    datetime.datetime(2016, 11, 2, 0, 0)],
                    data = {'total' : [5, 3, 1, 0, 2]})

ax = df.plot(kind='bar')
x_labels = df.index.strftime('%b')
ax.set_xticklabels(x_labels)

plt.show()

example chart

关于python - 在使用 pandas plot 方法创建的图表上格式化 x 轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44496383/

相关文章:

python - pandas 如何检查数据框中所有列的 dtype?

Python 正则表达式提取宽度 x 深度 x 高度

Python fiddle 图

matplotlib - seaborn "kde jointplot"在最新版本 (0.11.0) 中没有颜色映射

python :!=和<>之间的区别?

python - Django的 "Model"API线程安全吗?

python - 如何获取pytorch中子数组的索引?

Python:如何从 Pandas 图中叠加 2 个条形图

python - 更改箭袋的轴刻度 - Python

python - Pandas 数据框 : how to copy some columns in others according to a value in the row