python 3维正态分布图_隔空用python3喊出一个正态分布图

import numpy as np  # 科学计算包,包括一个强大的N维数组对象Array和成熟的函数库

import matplotlib.pyplot as plt  # 2D绘图库

'''

x = np.linspace(-4, 4, 1024)  # linspace方法来确定横坐标x的取值范围

y = .25 * (x + 4.)*(x+1.)*(x-2.)

plt.plot(x, y, c='g')  # pyplot画出函数曲线

plt.show() '''

'''#正弦和余弦

x = np.linspace(0, 2 * np . pi, 100)  # np.pi是一个常数百表示圆周率π

YSinValue = np.sin(x)

YCosValue = np.cos(x)

plt.plot(x, YSinValue)  # plt.bar画柱状图,plt.scatter画散点图

plt.plot(x, YCosValue)

plt.show() '''

# 画正态分布图

def nd(x, mu, sigma):  # 正太分布函数

a = 1./(sigma*(2*np.pi)**0.5)

b = -1.*(x-mu)**2/(2.0*sigma**2)

return a * np.exp(b)

x = np.linspace(-6, 6, 1000)

for i in range(3):  # 画三条正态分布曲线

samples = np.random.standard_normal(10)  # randn是standard_normal便捷写法

mu, sigma = np.mean(samples), np.std(samples)  # np.mean计算平均值

plt.plot(x, nd(x, mu, sigma), color='.66')

plt.plot(x, nd(x, 0., 1.), color='b')  # 标准正态分布

plt.show()

使用Python来绘制二和三正态分布的可视化一个常见的任务。在Python中,我们通常使用`matplotlib`和`numpy`库来完成这个任务。 首先,让我们创建一个正态分布的可视化。假设我们有两个变量x和y,并且我们的数据来自一个均值为0,标准差为1的正态分布。 ```python import numpy as np import matplotlib.pyplot as plt # 创建数据 np.random.seed(0) # 为了结果可复现 x = np.random.normal(loc=0, scale=1, size=500) y = np.random.normal(loc=0, scale=1, size=500) # 创建散点 plt.scatter(x, y) plt.title('2D Normal Distribution') plt.xlabel('X') plt.ylabel('Y') plt.show() ``` 接下来,让我们创建一个正态分布的可视化。假设我们有三个变量x, y和z,并且我们的数据来自一个均值为(0, 0, 0),标准差为(1, 1, 1)的正态分布。 ```python import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D # 创建数据 np.random.seed(0) # 为了结果可复现 x = np.random.normal(loc=(0, 0, 0), scale=(1, 1, 1), size=500) y = np.random.normal(loc=(0, 0, 0), scale=(1, 1, 1), size=500) z = np.random.normal(loc=(0, 0, 0), scale=(1, 1, 1), size=500) fig = plt.figure() # 创建新像窗口 ax = fig.add_subplot(111, projection='3d') # 使用3D绘模式 ax.scatter(x, y, z) # 在3D中创建散点 ax.set_title('3D Normal Distribution') ax.set_xlabel('X') ax.set_ylabel('Y') ax.set_zlabel('Z') plt.show() ``` 以上代码将生成二和三正态分布的可视化。这些可以帮助我们理解正态分布的性质,以及如何使用这些分布来生成数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值