绘制多元正态分布

2024-04-26 14:18:29 发布

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

有人知道如何使用Python在一个绘图上绘制多个高斯分布吗? 我得到了一些正态分布的数据,有不同的均值和标准差,我需要画出来。太多了 我只能画一个。请对我简单一点,我刚刚开始使用Python


Tags: 数据绘图绘制均值标准差正态分布
1条回答
网友
1楼 · 发布于 2024-04-26 14:18:29

假设有3种不同的均值mu和标准偏差sigma的组合。你可以随意选择,但举个例子,我用了3。你知道吗

from matplotlib import pyplot as mp
import numpy as np

def gaussian(x, mu, sig):
    return 1./(np.sqrt(2*np.pi)*sigma)*np.exp(-0.5 * (1./sigma*(x - mu))**2)

for mu, sig in [(0.5, 0.1), (1.0, 0.2), (1.5, 0.3)]: #(mu,sigma)
    mp.plot(gaussian(np.linspace(-8, 8, 100), mu, sig))

mp.show()

定义musigma在这行中,您可以添加任意多个组合:

for mu, sig in [(0.5, 0.1), (1.0, 0.2), (1.5, 0.3)]: #(mu,sigma)

对我来说是的

  • mu=0.5,sigma=0.1
  • mu=1.0,sigma=0.2
  • mu=1.5,sigma=0.3

结果

enter image description here

*编辑

%matplotlib inline
from matplotlib import pyplot as mp
import numpy as np

def gaussian(x, mu, sig):
    return 1./(np.sqrt(2*np.pi)*sigma)*np.exp(-0.5 * (1./sigma*(x - mu))**2)

for mu, sigma in [(1, 2), (0.5, 1), (0, 0.5)]: #(mu,sigma)
    mp.plot(gaussian(np.linspace(-4, 6, 100, ), mu, sigma))
    mp.xlim(0,110)  #set x-axes limits
    mp.ylim(0,1)  #set y-axes limits

mp.show()

结果:

enter image description here

相关问题 更多 >