我试图用matplotlib在Python中绘制一个正态分布曲线。为了生成图形,我在post python图正态分布中跟踪了python图正态分布。
我想知道在x轴和y轴上是否有一种方法来投影mu-3*西格玛,mu +3*西格玛和平均值。
谢谢
编辑1图像解释投影图像。
在图像中,我试图在x和y轴上投影平均值。我想知道是否有一种方法,我可以在x和y轴上获得数值(x和y轴上的蓝色圆圈)。
发布于 2019-01-08 12:16:06
下面的脚本演示如何实现您想要的结果:
import matplotlib.pyplot as plt
import numpy as np
import scipy.stats as stats
mu = 2
variance = 9
sigma = np.sqrt(variance)
x = np.linspace(mu - 3*sigma, mu + 3*sigma, 500)
y = stats.norm.pdf(x, mu, sigma)
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_xlim([min(x), max(x)])
ax.set_ylim([min(y), max(y)+0.02])
ax.hlines(y=max(y), xmin=min(x), xmax=mu, color='r')
ax.vlines(x=mu, ymin=min(y), ymax=max(y), color='r')
plt.show()制作的情节是

如果你熟悉正态分布的性质,很容易知道与x轴交点就是mu,也就是分布的平均值。与y轴相交是代码中y的最大值,即max(y)。
https://stackoverflow.com/questions/54080565
复制相似问题