【问题标题】:Time series plots Pandas时间序列图 Pandas
【发布时间】:2018-12-03 11:57:35
【问题描述】:

单独绘制每个数据集时,我得到一条时间序列线,但是当将 2 个数据集合并为一个时,图表变得参差不齐。如何将两个图表的点更改为时间序列。

代码:

from datetime import datetime
import pandas as pd
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
name1=pd.read_csv('name1.csv', sep=',')
name2=pd.read_csv('name2.csv', sep=',')
name1.UTC=pd.to_datetime(name1.UTC)
name2.UTC=pd.to_datetime(name2.UTC)
name1.set_index('UTC', inplace=True)
name2.set_index('UTC', inplace=True)
name1=name1[np.isfinite(name1['Soil'])]
name2=Til[np.isfinite(name2['Soil'])]
name1Soil=Ott[['Soil']]
name2Soil=Til[['Soil']]
df_rm=pd.concat([name1Soil.rolling(400).mean(), 
name2Soil.rolling(400).mean()], axis=1)
df_rm.plot(figsize=(40,20), linewidth=10, fontsize=30) 
plt.xlabel('Date-Time', fontsize=30);
plt.ylabel('Soil', fontsize=30);
plt.show()

【问题讨论】:

    标签: python pandas matplotlib


    【解决方案1】:

    不要连接两个时间序列,而是尝试分别绘制它们两个:

    df1 = name1Soil.rolling(400).mean()
    df2 = name2Soil.rolling(400).mean()
    plt.figure(figsize=(1,1))
    df1.plot(linewidth=10, fontsize=30, color='green') 
    df2.plot(linewidth=10, fontsize=30, color='blue') 
    plt.xlabel('Date-Time', fontsize=30);
    plt.ylabel('Soil', fontsize=30);
    plt.show()
    

    以下是如何在一张图上绘制多条线的示例:

    t = np.arange(0, 2, 0.01)
    s1 = np.sin(2*np.pi*t)
    s2 = np.sin(2*np.pi*t + 2)
    
    plt.plot(t, s1, color='blue')
    plt.plot(t, s2, color='green')
    plt.show()
    

    【讨论】:

    • 谢谢,但我想将它们绘制在同一张图上(而不是分开)
    • 这将在同一张图中绘制
    • 我不关注!您的解决方案将绘制 2 个单独的图表。我希望 df1 和 df2 在同一张图上
    • 我希望两个图在同一轴上
    猜你喜欢
    • 2021-09-27
    • 2014-08-31
    • 1970-01-01
    • 1970-01-01
    • 2015-11-28
    • 2016-07-08
    • 2023-03-12
    • 2020-04-20
    • 2017-06-14
    相关资源
    最近更新 更多