使用 Numpy 和 Matplotlib 的正态分布图
在本文中,我们将看到如何使用numpy和matplotlib模块在Python中创建正态分布图。
什么是正态分布?
正态分布是统计学中使用的概率函数,用于说明数据值的分布方式。它是统计学中最重要的概率分布函数,因为它在真实案例场景中具有优势。例如,人口的身高、鞋码、智商水平、掷骰子等等。
通常观察到,当从独立来源随机收集数据时,数据分布是正常的。在 x 轴上绘制变量的值和在 y 轴上绘制值的计数后产生的图形是钟形曲线图。该图表示峰值点是数据集的平均值,数据集的一半值位于平均值的左侧,另一半位于平均值的右侧,说明值的分布。该图是对称分布。
需要的模块
Numpy是一个通用的数组处理包。它提供了一个高性能的多维数组对象,以及用于处理这些数组的工具。它是使用Python进行科学计算的基本包。
除了明显的科学用途外, Numpy还可以用作通用数据的高效多维容器。
Matplotlib是一个绘图库,用于在Python中创建静态、动画和交互式可视化。 Matplotlib可用于Python脚本、 Python和 IPython shell、Web 应用程序服务器以及各种图形用户界面工具包,如Tkinter、awxPython等。
下面是一些使用 Numpy 和 Matplotlib 模块创建正态分布图的程序:
示例 1:
Python3
# importing numpy as np
import numpy as np
# importing pyplot as plt
import matplotlib.pyplot as plt
# position
pos = 100
# scale
scale = 5
# size
size = 100000
# creating a normal distribution data
values = np.random.normal(pos, scale, size)
# plotting histograph
plt.hist(values, 100)
# showing the graph
plt.show()
Python3
# importing numpy as np
import numpy as np
# importing pyplot as plt
import matplotlib.pyplot as plt
# position
pos = 0
# scale
scale = 10
# size
size = 10000
# random seed
np.random.seed(10)
# creating a normal distribution data
values = np.random.normal(pos, scale, size)
# plotting histograph
plt.hist(values, 100)
# plotting mean line
plt.axvline(values.mean(), color='k', linestyle='dashed', linewidth=2)
# showing the plot
plt.show()
输出 :
示例 2:
蟒蛇3
# importing numpy as np
import numpy as np
# importing pyplot as plt
import matplotlib.pyplot as plt
# position
pos = 0
# scale
scale = 10
# size
size = 10000
# random seed
np.random.seed(10)
# creating a normal distribution data
values = np.random.normal(pos, scale, size)
# plotting histograph
plt.hist(values, 100)
# plotting mean line
plt.axvline(values.mean(), color='k', linestyle='dashed', linewidth=2)
# showing the plot
plt.show()
输出 :