在python中将水平限制线添加到时间序列图中

2024-09-27 23:25:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我想为Temparature timeseries绘图添加水平上限和下限线。假设上限线为30,下限线为10

df3.plot(x="Date", y=["Temp.PM", "Temp.AM"],figsize=(20,8))

Times series plot without limit lines


Tags: 绘图dateplot水平amtemptimeseriespm
3条回答

下面是一些开始和试验的代码:

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

dates = pd.date_range('20190822', '20191020', freq='D')
df3 = pd.DataFrame({'Date': dates,
                    'Temp.AM': np.random.normal(22.5, 2, len(dates)),
                    'Temp.PM': np.random.normal(27.5, 2, len(dates))})
df3.plot(x='Date', y=['Temp.PM', 'Temp.AM'], color=['dodgerblue','coral'], figsize=(20, 8))

min_temp = df3['Temp.AM'].min()
max_temp = df3['Temp.PM'].max()
plt.axhline(min_temp, c='coral', ls=' ')
plt.axhline(max_temp, c='dodgerblue', ls=' ')
plt.text(df3['Date'][0], min_temp, f'\nMin: {min_temp:.1f}°C', ha='left', va='center', c='coral')
plt.text(df3['Date'][0], max_temp, f'Max: {max_temp:.1f}°C\n', ha='left', va='center', c='dodgerblue')
plt.show()

example plot

plt.plot(df3['Date'], df3[["Temp.PM", "Temp.AM"]])
plt.axhline(30, color='r')
plt.axhline(10, color='b')
plt.show()

我认为这个解决方案可以帮助你

import matplotlib.pyplot as plt
%matplotlib inline

df3.plot(x="Date", y=["Temp.PM", "Temp.AM"],figsize=(20,8))
plt.axhline(30)
plt.axhline(10)

相关问题 更多 >

    热门问题