绘制给定均值和σ-python的正态分布图
我在数据框中有一些数据绘制给定均值和σ-python的正态分布图,python,pandas,matplotlib,plot,seaborn,Python,Pandas,Matplotlib,Plot,Seaborn,我在数据框中有一些数据 df['Difference'] = df.Congruent.values - df.Incongruent.values mean = df.Difference.mean() std = df.Difference.std(ddof=1) median = df.Difference.median() mode = df.Difference.mode() 我想画一个直方图和一个正态分布图。是否有一个以均值和西格玛为参数的绘图函数?我不在乎是matplotplib
df['Difference'] = df.Congruent.values - df.Incongruent.values
mean = df.Difference.mean()
std = df.Difference.std(ddof=1)
median = df.Difference.median()
mode = df.Difference.mode()
我想画一个直方图和一个正态分布图。是否有一个以均值和西格玛为参数的绘图函数?我不在乎是matplotplib、seaborn还是ggplot。最好的方法是,我可以在一个绘图中标记所有数据的模式和中值。您可以使用matplotlib/pylab和
scipy.stats.norm.pdf
并将平均值和标准偏差传递为loc
和scale
:
import pylab
import numpy as np
from scipy.stats import norm
x = np.linspace(-10,10,1000)
y = norm.pdf(x, loc=2.5, scale=1.5) # for example
pylab.plot(x,y)
pylab.show()
您可以将matplotlib/pylab与
scipy.stats.norm.pdf一起使用,并将平均值和标准偏差传递为loc
和scale
:
import pylab
import numpy as np
from scipy.stats import norm
x = np.linspace(-10,10,1000)
y = norm.pdf(x, loc=2.5, scale=1.5) # for example
pylab.plot(x,y)
pylab.show()
如何操作此距离的最大值?因为当我将其与直方图一起绘制时,正态距离变平,因此看起来像底部的一条直线。或者将其乘以一个常数(但它不会是一个标准化分布),或者将直方图标准化(我认为matplotlib中有一个normed=True
参数).好的,如你所说的“normed=true”。最好是两个轴在两侧,一个用于直方图,另一个用于分布。你知道怎么做吗?你可能希望twinx
如中所示,因为轴的自动缩放可以获得“良好”的刻度值,仅使用twinx
可能会导致绘制出一个不太准确的曲线图,该曲线图沿图形纵轴的归一化密度和计数值相等。我如何操作该距离的最大值?因为当我将其与直方图一起绘制时,正态距离变平,因此看起来像底部的一条直线。或者将其乘以一个常数(但它不会是一个标准化分布),或者将直方图标准化(我认为matplotlib中有一个normed=True
参数).好的,如你所说的“normed=true”。最好是两个轴在两侧,一个用于直方图,另一个用于分布。你知道怎么做吗?你可能希望twinx
如中所示,因为轴的自动缩放可以获得“良好”的刻度值,仅使用twinx
可能会导致绘制出一个不太准确的图,该图沿图形的纵轴将标准化密度和计数值相等。