python画直方图和正态分布拟合曲线csdn
时间: 2023-09-30 08:00:41 浏览: 144
要使用Python画直方图和正态分布拟合曲线,可以借助于Python中的matplotlib和seaborn库。
首先,需要准备一个数据集,可以是一组数值。假设我们有一组数据:data = [1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 5]。
接下来,导入matplotlib和seaborn库,并选择合适的样式。
```
import matplotlib.pyplot as plt
import seaborn as sns
#选择合适的样式
sns.set(style="white")
```
然后,使用matplotlib的hist函数画直方图。
```
#画直方图
plt.hist(data, bins=range(1, 7), align='left', rwidth=0.8, alpha=0.7, color='b')
```
接着,使用seaborn的distplot函数画正态分布拟合曲线。
```
#画正态分布拟合曲线
sns.distplot(data, kde=True, hist=False, fit=norm, color='r')
```
最后,设置标题、坐标轴标签等。
```
#设置标题和坐标轴标签
plt.title('Histogram with Normal Distribution Fit')
plt.xlabel('Value')
plt.ylabel('Frequency')
```
完整的代码如下:
```
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.stats import norm
data = [1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 5]
sns.set(style="white")
plt.hist(data, bins=range(1, 7), align='left', rwidth=0.8, alpha=0.7, color='b')
sns.distplot(data, kde=True, hist=False, fit=norm, color='r')
plt.title('Histogram with Normal Distribution Fit')
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.show()
```
运行以上代码,就可以在csdn上实现python画直方图和正态分布拟合曲线的效果。
阅读全文