xticks值作为matplotlib图中的数据帧列值

时间:2017-04-19 11:57:30

标签: 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

1 个答案:

答案 0 :(得分:2)

执行此操作的一种方法是访问x数据中xticks的当前idices。使用该值从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