使用Python绘制正态分布曲线,借助matplotlib绘图工具;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
#-*-coding:utf-8-*- """ python绘制标准正态分布曲线 """ # ============================================================== import numpy as np import math import matplotlib.pyplot as plt def gd(x, mu = 0 , sigma = 1 ): """根据公式,由自变量x计算因变量的值 Argument: x: array 输入数据(自变量) mu: float 均值 sigma: float 方差 """ left = 1 / (np.sqrt( 2 * math.pi) * np.sqrt(sigma)) right = np.exp( - (x - mu) * * 2 / ( 2 * sigma)) return left * right if __name__ = = '__main__' : # 自变量 x = np.arange( - 4 , 5 , 0.1 ) # 因变量(不同均值或方差) y_1 = gd(x, 0 , 0.2 ) y_2 = gd(x, 0 , 1.0 ) y_3 = gd(x, 0 , 5.0 ) y_4 = gd(x, - 2 , 0.5 ) # 绘图 plt.plot(x, y_1, color = 'green' ) plt.plot(x, y_2, color = 'blue' ) plt.plot(x, y_3, color = 'yellow' ) plt.plot(x, y_4, color = 'red' ) # 设置坐标系 plt.xlim( - 5.0 , 5.0 ) plt.ylim( - 0.2 , 1 ) ax = plt.gca() ax.spines[ 'right' ].set_color( 'none' ) ax.spines[ 'top' ].set_color( 'none' ) ax.xaxis.set_ticks_position( 'bottom' ) ax.spines[ 'bottom' ].set_position(( 'data' , 0 )) ax.yaxis.set_ticks_position( 'left' ) ax.spines[ 'left' ].set_position(( 'data' , 0 )) plt.legend(labels = [ '$\mu = 0, \sigma^2=0.2$' , '$\mu = 0, \sigma^2=1.0$' , '$\mu = 0, \sigma^2=5.0$' , '$\mu = -2, \sigma^2=0.5$' ]) plt.show() |
以上就是利用python绘制正态分布曲线的详细内容,更多关于python 正态分布的资料请关注服务器之家其它相关文章!
原文链接:https://www.cnblogs.com/chenzhen0530/p/10690653.html