三维图像的绘制,含代码两个示例

示例一:

代码显示:

import numpy as np
import matplotlib.pyplot as plt  #导入库
from mpl_toolkits.mplot3d import Axes3D
fig=plt.figure(figsize=(12,6))
ax=Axes3D(fig)
X,Y=np.mgrid[-3:3:100j,-3:3:100j]  #生成X轴/Y轴的数据列表,并进行格网化
Z=np.exp(-X**2-Y**2)               #计算函数值
surf=ax.plot_surface(X,Y,Z ,rstride=1,cstride=1,cmap=plt.get_cmap('rainbow'))#设置行和列的跨度
ax.set_zlim(-0.1,1)      #设置z轴的范围
ax.set_xlabel('x')
ax.set_ylabel('Y')

ax.set_zlabel('Z')
plt.title('$z=exp(-x^2/2-y^2/2)$的三维图形')  #设定标题
fig.colorbar(surf,shrink=0.5,aspect=5)
plt.savefig('test',dpi=600)                #设置保持地点,dpi:清晰度
plt.show()

运行结果显示为:
在这里插入图片描述

示例二

代码显示:

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D #绘制3D图案

x = np.linspace(-1,1,100)
y = np.linspace(-1,1,50)
# 关于 np.meshgrid的内容可以看下面的链接提示
x_,y_ = np.meshgrid(x,y,indexing='ij')
z_ = x_**2 + y_**2
fig = plt.figure(figsize=(12,8),facecolor='white') #创建图片
sub = fig.add_subplot(111,projection='3d')# 添加子图,
surf = sub.plot_surface(x_,y_,z_,cmap=plt.cm.brg) #绘制曲面,并设置颜色cmap
cb = fig.colorbar(surf,shrink=0.8,aspect=15) #设置颜色棒

sub.set_xlabel(r"$x$")
sub.set_ylabel(r"$y$")
sub.set_zlabel(r"$z$")
plt.show()

关于代码中的np.meshgrid()函数内容可以参考博主另外的文章,链接如下:
https://blog.csdn.net/ximu__l/article/details/131024290

运行后的结果为:
在这里插入图片描述

参考:
https://blog.csdn.net/qq_45176548/article/details/127998794
https://blog.csdn.net/m0_74859128/article/details/128354708

猜你喜欢

转载自blog.csdn.net/ximu__l/article/details/131024415