python - xticks 值作为 matplotlib 图中的数据框列值

标签 python pandas matplotlib dataframe

<分区>

下面有data.frame

      values    years
0    24578.0  2007-09
1    37491.0  2008-09
2    42905.0  2009-09
3    65225.0  2010-09
4   108249.0  2011-09
5   156508.0  2012-09
6   170910.0  2013-09
7   182795.0  2014-09
8   233715.0  2015-09
9   215639.0  2016-09
10  215639.0      TTM

附上绘制的图像,问题是我希望年份值“2007-09”到“TTM”作为绘图中的 xtick

The plotted image is ataached,the issue is i want years values '2007-09' to 'TTM' as xtick values in plot

最佳答案

执行此操作的一种方法是访问 x 数据中 xtick 的当前 ID。使用该值从 df.year 中选择值,然后将标签设置为这些值:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
df.plot(ax=ax)
tick_idx = plt.xticks()[0]
year_labels = df.years[tick_idx].values
ax.xaxis.set_ticklabels(year_labels)

enter image description here

你也可以像这样设置 x 轴来显示所有年份:

fig, ax = plt.subplots()
df.plot(ax=ax, xticks=df.index, rot=45)
ax.set_xticklabels(df.years)

enter image description here

关于python - xticks 值作为 matplotlib 图中的数据框列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43495090/

相关文章:

python - def 函数不合适?

python - 使用 numpy 进行数组重分类

Matplotlib 在阶梯图中仅绘制水平线

Python matplotlib/seaborn 绘图条形图子类别

python - 从列表循环播放声音

python - 如何替换文件中的单词?

python - 有效地压缩 numpy 数组

python - 在多索引 Pandas Dataframe 中设置值的正确方法

python - Pandas DataFrame 将字典值分配列应用或映射到 MultiIndex 值的函数

python - 如何更改seaborn联合图中文本的位置