绘制不同小时时间序列的子图:绘制每个小时子图的每日平均值

CS Seefoo

我有一个数据框架,其中包含一年中每小时测量6种不同气象变量的数据。我试图创建子图,以显示同一子图中每个气象数据的每小时和每日平均值。但是,我还没有接近。

这样我就得到了每个变量的子图:

sns.set(style = "white", palette = "Dark2")
yaxis_titles = ['Global Irradiance $(W/m^2)$', 'Precipitation (-)', 'Relative Humidity (%)', 'Ambient temperature (°C)', 'Wind speed (m/s)', 'Wind speed direction (°)']
axes = meteo.plot( figsize=(12, 20), subplots=True, sharex = True, title = yaxis_titles)

我试图做这样的事情,因为我正在创建每个循环的绘图,所以让我整理了想要的东西,但是我不确定如何使它们共享x轴,这样就不会详细。

fig, ax = plt.subplots(1, len(meteo.columns), sharex=True, tight_layout=True)

for i in range(len(meteo.columns)):
    s = 611+i 
    ax = plt.subplot(s) # s= nrows, ncols, index
    meteo[meteo.columns[i]].plot(title = yaxis_titles[i], label = "Hourly")
    meteo[meteo.columns[i]].resample("D").mean().plot(title = yaxis_titles[i], ax= ax, label = "Daily average")

有人能指出我正确的方向吗?谢谢!

编辑:

我找到了一种方法来做,但是由于传说显示的不正确,它还不是很完美。实际上,我不希望完全不显示它们,或者仅希望指出黑色的“-”线是每日平均值。

import matplotlib.lines as mlines

yaxis_titles = ['Global Irradiance $(W/m^2)$', 'Precipitation (-)', 'Relative Humidity (%)', 'Ambient temperature (°C)', 'Wind speed (m/s)', 'Wind speed direction (°)']

meteo_mean = meteocorrect.resample("D").mean()

hourly = meteo.plot(figsize=(12, 20), subplots=True, sharex = True, title = yaxis_titles, label = None)
daily = meteo_mean.plot(subplots = True, ax = hourly, color='black', style = "--", label = None);
black_line = mlines.Line2D([], [], color='black',
                          markersize=15, label='Daily Average')
plt.legend(handles=[black_line]);

它给出了这样的内容:

在此处输入图片说明

问题是,对于“ black_line”,我没有设法使其变为虚线,即使我在子图中将图例设置为“无”,它们仍然会出现。

保罗·H

我想你很亲密。我可以看到的主要问题是您没有直接利用循环之前创建的Axes对象。

我将直接遍历这些列和您的数据框列,并始终将Axes对象传递给数据框的plot方法。

fig, axes = plt.subplots(len(meteo.columns), 1, sharex=True, tight_layout=True)

for ax, col, title in zip(axes.flat, meteo.columns, yaxis_title):
    meteo.loc[:, col].plot(title=title, label="Hourly", ax=ax)
    meteo.loc[:, col].resample("D").mean().plot(title=titles, ax=ax, label="Daily average")

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何绘制随时间变化的每小时平均值

来自分类Dev

绘制时间序列中分布在几个月内的每日平均值

来自分类Dev

时间序列:每个编号每天平均每小时的平均值

来自分类Dev

在0到24小时之间按时间序列绘制浮点图

来自分类Dev

绘制子图(Matlab)

来自分类Dev

获取按1小时时间窗口分组的列的平均值

来自分类Dev

如何从小时值计算每日平均值?

来自分类Dev

使用Pandas / matplotlib绘制每日平均值时,更改日期时间刻度上的格式

来自分类Dev

计算并绘制时间间隔平均值

来自分类Dev

Matplotlib 以 1 小时为间隔绘制 24 小时图

来自分类Dev

使用子图放大时间序列或如何在轴边界之外绘制线

来自分类Dev

子图的pyplot绘制方法

来自分类Dev

绘制每日时间序列

来自分类Dev

使用python绘制子图箱图

来自分类Dev

matplotlib / python-如何绘制这样的图?平均值±3 *标准偏差

来自分类Dev

R ggplot2为组平均值绘制条形图

来自分类Dev

R:如何从网格创建平均值的热图,并使用ggplot将其绘制?

来自分类Dev

核心图:如何绘制平均值为Y轴的图形?

来自分类Dev

获取每个(子)列的平均值

来自分类Dev

在Matlab中使用子图命令绘制但功能不同

来自分类Dev

在R中绘制时间序列事件图

来自分类Dev

将时间序列绘制为热图

来自分类Dev

在R中绘制时间序列事件图

来自分类Dev

使用熊猫在不同轴上绘制条形图和时间序列图

来自分类Dev

每小时平均平均值-Rails

来自分类Dev

如何自动计算10分钟时间步长中提供的值到1小时时间步长中的平均值?

来自分类Dev

如何使用 Pandas Dataframe 在子图直方图中设置多个平均值

来自分类Dev

如何从 JavaScript 中每小时值的数据集计算每日平均值

来自分类Dev

R:以不规则的1分钟时间序列计算1小时平均值

Related 相关文章

  1. 1

    如何绘制随时间变化的每小时平均值

  2. 2

    绘制时间序列中分布在几个月内的每日平均值

  3. 3

    时间序列:每个编号每天平均每小时的平均值

  4. 4

    在0到24小时之间按时间序列绘制浮点图

  5. 5

    绘制子图(Matlab)

  6. 6

    获取按1小时时间窗口分组的列的平均值

  7. 7

    如何从小时值计算每日平均值?

  8. 8

    使用Pandas / matplotlib绘制每日平均值时,更改日期时间刻度上的格式

  9. 9

    计算并绘制时间间隔平均值

  10. 10

    Matplotlib 以 1 小时为间隔绘制 24 小时图

  11. 11

    使用子图放大时间序列或如何在轴边界之外绘制线

  12. 12

    子图的pyplot绘制方法

  13. 13

    绘制每日时间序列

  14. 14

    使用python绘制子图箱图

  15. 15

    matplotlib / python-如何绘制这样的图?平均值±3 *标准偏差

  16. 16

    R ggplot2为组平均值绘制条形图

  17. 17

    R:如何从网格创建平均值的热图,并使用ggplot将其绘制?

  18. 18

    核心图:如何绘制平均值为Y轴的图形?

  19. 19

    获取每个(子)列的平均值

  20. 20

    在Matlab中使用子图命令绘制但功能不同

  21. 21

    在R中绘制时间序列事件图

  22. 22

    将时间序列绘制为热图

  23. 23

    在R中绘制时间序列事件图

  24. 24

    使用熊猫在不同轴上绘制条形图和时间序列图

  25. 25

    每小时平均平均值-Rails

  26. 26

    如何自动计算10分钟时间步长中提供的值到1小时时间步长中的平均值?

  27. 27

    如何使用 Pandas Dataframe 在子图直方图中设置多个平均值

  28. 28

    如何从 JavaScript 中每小时值的数据集计算每日平均值

  29. 29

    R:以不规则的1分钟时间序列计算1小时平均值

热门标签

归档