在matplotlib pyplot中绘制期间序列

时间:2017-05-21 18:32:34

标签: pandas matplotlib timeserieschart

我试图用matplotlib.pyplot按季度绘制时间序列收入数据,但一直收到错误。下面是我的代码和错误所需的行为是使用matplotlib按季度绘制收入数据。当我尝试这样做时,我得到:

TypeError: Axis must have {频率{1}}

是否因为时间序列日期表示为不能在matplotlib中绘制的句点?以下是我的代码。

set to convert to Periods

2 个答案:

答案 0 :(得分:3)

如果你想使用matplotlib,下面的代码应该给你想要的图:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

df = pd.DataFrame({'origin': ['KY','TN','TN','TN','KY'],
                     'date': ['2016Q2','2014Q1','2014Q2','2014Q3','2014Q4'],
                      'rev': [1783.16, 32128.36, 16801.40, 33863.39, 103973.66]})
x = np.arange(0,len(df),1)
fig, ax = plt.subplots(1,1)
ax.plot(x,df['rev'])
ax.set_xticks(x)
ax.set_xticklabels(df['date'])
plt.show()

enter image description here

您可以使用xticks命令并使用带有以下代码的条形图表示数据:

plt.bar(range(len(df.rev)), df.rev, align='center')
plt.xticks(range(len(df.rev)), df.date, size='small')

enter image description here

答案 1 :(得分:0)

好像是虫子。

对我而言DataFrame.plot

ooc.plot(x='date', y='rev')