gpt4 book ai didi

均值的 python 图分布

转载 作者:太空宇宙 更新时间:2023-11-04 08:02:36 24 4
gpt4 key购买 nike

我在 2015 年每天都有 500 个模拟。因此,我的数据如下:

from datetime import date, timedelta as td, datetime
d1 = datetime.strptime('1/1/2015', "%m/%d/%Y")
d2 = datetime.strptime('12/31/2015', "%m/%d/%Y")

AllDays = []
while(d1<=d2):
AllDays.append(d1)
d1 = d1 + td(days=1)

对于每一天,我有 500 个点代表当天的温度。

TempSims.shape
(500,365)

我想要一个二维图,其中 x 轴为日期,y 轴有一条线显示 2015 年每一天的模拟平均值,并且 500 个 sims 分布在平均值上以显示平均值与分布的叠加情况。

这是我在 python 中的第一个绘图,所以我很难实现它。

编辑:我的数组是 numpy 数组,日期是日期时间。

编辑2:我正在寻找这个例子中的情节: enter image description here

最佳答案

正如 Andy Hayden 已经建议的那样,pandas 可能是一个非常好的选择:

from datetime import date, timedelta as td, datetime
d1 = datetime.strptime('1/1/2015', "%m/%d/%Y")
d2 = datetime.strptime('12/31/2015', "%m/%d/%Y")

AllDays = []
while(d1<=d2):
AllDays.append(d1)
d1 = d1 + td(days=1)

temps = np.random.normal( 20, 0.5, size=(500,365) )
temps = pd.DataFrame( temps.T, index=AllDays )

fig, ax = plt.subplots( 1, 1, figsize=(16,8) )
ax.plot( temps.index, temps.T.mean(), color='blue', linewidth=2 )

编辑:

添加了下一行来绘制您在示例中放置的区域。请注意,对于每个 x 值,您绘制 3 个 y 值:最大值、最小值和平均值。或者不管怎样,您当然可能想要绘制 Q1 和 Q3 或置信区间。我的观点是,您实际上不再需要 500 分(汇总统计数据非常棒 ^_^)

ax.fill_between( temps.index, y1=temps.T.max(), y2=temps.T.min(), color='gray', alpha=0.5)

ax.set_ylabel('temperature [°C]')
ax.set_xlabel('measuring date')
ax.set_ylim([15,25])

plt.savefig('plot.png')

enter image description here

注意:如前所述,您实际上并不需要 pandas,但它在很多方面仍然很棒,您可能想尝试一下 ;)

关于均值的 python 图分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37492239/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com