如何在matplot的x轴上绘制dtype = datetime64 [ns]的数据帧列?

时间:2018-05-20 06:18:43

标签: pandas matplotlib timeserieschart

我想在同一个matplotlib图上绘制两个时间序列。 我有一个pandas数据帧as shown here 其中Date列的dtype = datetime64 [ns]为x轴且为Close,Open列为type = np.float64为y轴

我正在尝试代码

import matplotlib as plt
plt.xticks( df['Index'].values)
plt.plot(df['Close'])
plt.plot(df['Open'])
plt.show()

但它显示错误。我应该在哪里改进?

1 个答案:

答案 0 :(得分:0)

要仅绘制df的某些列(在此示例中为“col1”和“col2”),您可以这样做:

import matplotlib.pyplot as plt
import pandas as pd
df = pd.DataFrame([[10,11, 3,'2018-04-02 20:30'], [15, 20, 5, '2018-04-02 20:31'], [20, 25, 6, '2018-04-02 20:40'], [10, 12, 8, '2018-04-02 20:45']], columns = ['col1', 'col2', 'col3' ,'Dates'])
print (df)

   col1  col2  col3             Dates
0    10    11     3  2018-04-02 20:30
1    15    20     5  2018-04-02 20:31
2    20    25     6  2018-04-02 20:40
3    10    12     8  2018-04-02 20:45

df['Dates'] = pd.to_datetime(df['Dates'], format='%Y-%m-%d %H:%M')
df.set_index(['Dates'],inplace=True)
df.loc[:,['col1','col2']].plot()
plt.show()

在你的情况下,这应该有效:

df.loc[:,['Open','Close']].plot()