【问题标题】:Plotting two numeric columns in pandas in same graph with dates on x-axis [duplicate]在 x 轴上绘制日期在同一图中的 pandas 中的两个数字列 [重复]
【发布时间】:2017-12-02 05:38:58
【问题描述】:

从此代码: data.Date = pd.to_datetime(data.Date) data.sort_values('Date', inplace=True)

data['mean_Kincaid'] = data.Kincaid.rolling(250, 
min_periods=1).mean()
data.plot(x='Date', y='mean_Kincaid',  
legend=False, title="Kincaid scores over time")

使用这条线:

data['mean_Score'] = data.Score.rolling(250, min_periods=1).mean()

我想在同一张图上绘制“mean_Score”,最好用虚线绘制。我的尝试:

data.plot(x='Date', y='mean_Kincaid', y = 'mean_Score',  legend=False, 
title="Kincaid scores over time")

【问题讨论】:

    标签: python pandas datetime matplotlib


    【解决方案1】:

    使用从第一个绘图中获取坐标轴句柄,然后使用 pandas.DataFrame.plot 中的ax 参数在相同坐标轴上绘制第二行:

    ax = data.plot(x='Data', y='mean_Kincaid',legend=False, title="Kincaid score over time")
    data.plot(x='Date', y='mean_Score', ax=ax)
    

    【讨论】:

    • 谢谢,当我运行代码时,它返回了一个对象的位置()但实际上并没有产生一个图——我还需要什么做什么?
    • 导入 Matplotlib.pyplot 然后将 plt.show() 添加到您的代码中
    • 运行得到:AttributeError: 'AxesSubplot' 对象没有属性 'plt'
    猜你喜欢
    • 1970-01-01
    • 2021-10-14
    • 2016-01-11
    • 1970-01-01
    • 2019-08-31
    • 2015-08-16
    • 1970-01-01
    • 2016-06-24
    • 2023-03-09
    相关资源
    最近更新 更多