【问题标题】:How to draw a dataframe column of dtype = datetime64[ns] on x- axis of a matplot?如何在 matplot 的 x 轴上绘制 dtype = datetime64[ns] 的数据框列?
【发布时间】:2018-05-20 06:18:42
【问题描述】:

我想在 matplotlib 的同一个图上绘制两个时间序列。 我有一个熊猫数据框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()

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

【问题讨论】:

    标签: pandas matplotlib timeserieschart


    【解决方案1】:

    要仅绘制 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()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-08
      • 2021-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-15
      • 2020-07-13
      相关资源
      最近更新 更多