为了账号安全,请及时绑定邮箱和手机立即绑定

Python:如何绘制3维数组的正态分布

Python:如何绘制3维数组的正态分布

一只斗牛犬 2021-05-10 16:29:27
我有一个3维数组temprSubset,它取了2维的平均值。代码:f=MFDataset(filenames)temprSubset = f.variables['tc'][ : , latitude_lower_limit:latitude_upper_limit , longitude_lower_limit:longitude_upper_limit,] tempavg1=temprSubset.mean(axis=tuple(range(0,2)))我想绘制tempavg1数组中每个平均值的标准偏差曲线,但我很迷惑。
查看完整描述

1 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

简单的方法是使用该hist功能。箱数的选择可能会大大改变图形的形状。


给出平滑曲线的另一种方法是核密度估计。带宽的选择也可能会更改获得的图形的形状。


import numpy as np


import matplotlib.pyplot as plt

%matplotlib inline


# Generate some data

data = np.random.normal( size=(5, 50, 150) )  # a random 3D array

average_axes01 = data.mean(axis=(0, 1))


# Using the Kernel density estimation:

from scipy.stats import gaussian_kde


prob_density = gaussian_kde(average_axes01)

std = average_axes01.std()

x_fine = np.linspace(-3*std, 3*std, 29)

probs = prob_density(x_fine)

plt.plot(x_fine, probs, 'r', linewidth=2);


# Using the histogram:

plt.hist(average_axes01, bins=7, normed=True, alpha=.4)


plt.ylabel('probability density function'); plt.xlabel('values');

//img1.sycdn.imooc.com//60a3653c0001828003850271.jpg

查看完整回答
反对 回复 2021-05-18
  • 1 回答
  • 0 关注
  • 179 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信