Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
绘制给定均值和σ-python的正态分布图_Python_Pandas_Matplotlib_Plot_Seaborn - Fatal编程技术网

绘制给定均值和σ-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
可能会导致绘制出一个不太准确的图,该图沿图形的纵轴将标准化密度和计数值相等。