首页 > 编程知识 正文

正态分布图怎么分析,正态分布表python

时间:2023-05-03 22:59:31 阅读:154270 作者:1139

今天用python画了几个好玩的3D展示图,现在和大家分享。

我会把照片贴好

使用的python工具包如下。

frommatplotlibimportpyplotasplt

导入编号为NP

from mpl _ toolkits.MP lot3dimportaxes 3d

在贴上代码之前,您需要整体了解这些图是如何绘制的。 上面的每个3D图像可以理解为长方体。 输入数据是三维的,x轴、y轴和z轴。 第三个图像有x、y和z坐标的标记。 在第三张照片中,z可以理解为根据x和y变化的函数。 就像人在小山中行走一样,其中x和y表示方向,z表示是上坡还是下坡。 第二张照片中间的,实际上是三维的正态分布图。

具体公式如下

上面的是二维的。 也就是说,只有x和y。 对于三维,需要稍微变形。 根据以上公式将exp ()中的内容转换为exp(-) (((x-u ) ^2) )2q^2) )即可。 这里的u表示平均值,q表示标准偏差。 在这样变化之后,z=f(x,y )。 这就是z值表达式,表示z值随x和y值变化的函数。

试着贴上代码吧

这是第二张图像的代码。

frommatplotlibimportpyplotasplt

导入编号为NP

from mpl _ toolkits.MP lot3dimportaxes 3d

fig=plt.figure (

ax=axes3d(fig )

len=8;

step=0.4;

efbuild_layer(z_value ) :

x=NP.arange(-len,len,step );

y=NP.arange(-len,len,step );

Z1=NP.full(x.size,z_value/2 ) ) ) ) ) ) ) ) ) Z1=NP.full(x.size,z_value/2 ) ) ) ) ) ) ) ) ) ) ) Z1 ) ) ) ) ) z5 )

Z2=NP.full(x.size,z_value/2 ) ) ) ) ) ) ) ) ) ) ) )。

z1,Z2=NP.meshgrid(Z1,z2 ) )。

z=z1 z2;

x,y=NP.meshgrid(x,y ) )。

return(x,y,z );

efbuild_Gaussian_layer(mean,standard_deviation ) :

x=NP.arange(-len,len,step );

y=NP.arange(-len,len,step );

x,y=NP.meshgrid(x,y );

z=NP.exp(-((y-mean ) *2) x-mean ) *2)/(2* ) ) Standard_deviation**2) )

z=z/(NP.sqrt )2*NP.pi ) *standard_deviation );

return(x,y,z );

可以在help (help )函数(如#help(ax.plot_surface ) )中查看具体的函数方法

x1,y1,Z1=build_layer(0.2 );

ax.plot_surface(x1,y1,z1,rstride=1,cstride=1,color='green ' ) ) ) ) ) ) )。

x5,y5,Z5=build_layer(0.15 );

ax.plot_surface(x5,y5,z5,rstride=1,cstride=1,color='pink ' ) ) ) ) ) ) )。

# x2,y2,Z2=build_layer(-0.26 );

#ax.plot_surface(x2,y2,z2,rstride=1,cstride=1,color='yellow ' ) ) ) ) ) ) ) ) )

#

# x6,y6,z6=build_layer(-0.22 );

#ax.plot_surface(x6,y6,z6,rstride=1,cstride=1,color='pink ' ) ) ) ) )。

# x4,y4,Z4=build_layer(0);

#ax.plot_surface(x4,y4,z4,rstride=1,cstride=1,color='purple ' ) ) ) ) ) ) )。

x3,y3,z3=build _ Gaussian _ layer (0,1 ) ) ) ) ) ) ) ) x3,y3,z3 ) ) ) x3 ) ) x3 ) ) x3 ) z3 ) ) z3 ) ) 652 )

ax.plot_surface(x3,y3,z3,rstride=1,cstride=1,cmap='rainbow ' ) ) ) ) ) ) ) ) ) ) )。

plt.show () )

这是第三张图像的代码

导入编号为NP

import matplotlib.pyplot as plt

import mpl_toolkits.mplot3d

x,y=np.mgrid[-1:1:20j,-1:1:20j]

z=x*NP.exp(-x**2-y**2) )

ax=PLT.subplot(111,projection='3d ' ) )。

ax.plot_surface(x,y,z,rstride=2,cstride=1,cmap=plt.cm.coolwarm,alpha=0.8 ) ) ) )。

ax.set_xlabel('x ' ) )。

ax.set_ylabel('y ' ) )。

ax.set_zlabel('z ) ) )。

plt.show () )

以上,用python制作三维正态分布图的方法,是小编给大家分享的全部内容。 希望您能参考。 另外,教程网的检索也请多多关照。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。