python—使用matplotlib库绘制彩色三维图(曲面绘制)

最近学习过程中需要绘制曲面图,从网上学习了一下,绘制二元函数图,Z= - X ^ 2 - Y ^ 2,程序如下:

from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D   
import numpy

plt.figure()   
ax = plt.axes(projection="3d")
ax.patch.set_facecolor
同样使用Pythonmatplotlib,可以使用subplot()函数来实现将图形窗口分割成多个区域,然后在每个区域内分别绘制对应的三维网格曲面。以下是一个可能的实现示例,供参考: ``` python import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D # 生成数据 t = np.arange(-3, 3, 0.125) x = np.sin(2*t) y = np.cos(2*t) z = x**2 + 2*y**2 # 创建一个2行2列的图形窗口,并将第一个区域激活 fig = plt.figure() # 绘制基于x,y,z的三维网格曲面 ax1 = fig.add_subplot(2, 2, 1, projection='3d') ax1.plot_surface(x, y, z, cmap='coolwarm') ax1.set_title('Surface plot') # 绘制带有等高线的三维网格曲面 ax2 = fig.add_subplot(2, 2, 2, projection='3d') ax2.plot_surface(x, y, z, rstride=1, cstride=1, cmap='coolwarm', alpha=0.5, linewidth=0.5) ax2.contour(x, y, z, offset=0, cmap='coolwarm') ax2.set_title('Contour plot') # 绘制带有底座的三维网格曲面 ax3 = fig.add_subplot(2, 2, 3, projection='3d') ax3.plot_surface(x, y, z, rstride=1, cstride=1, cmap='coolwarm', alpha=0.5) ax3.contour(x, y, z, offset=0, cmap='coolwarm') ax3.set_zlim(0, 2) ax3.set_title('Base plot') # 绘制填充颜色三维网格曲面 ax4 = fig.add_subplot(2, 2, 4, projection='3d') ax4.plot_surface(x, y, z, rstride=1, cstride=1, cmap='coolwarm', alpha=0.5, linewidth=0.5) ax4.plot_wireframe(x, y, z, rstride=3, cstride=3, color='black') ax4.set_title('Wireframe plot') # 设置坐标轴范围 for ax in fig.get_axes(): ax.set_xlim([-1, 1]) ax.set_ylim([-1, 1]) ax.set_zlim([0, 2]) # 显示图形 plt.show() ``` 这段代码会生成一个图形窗口,其中被分割为4个区域,分别绘制基于x,y,z的三维网格曲面、带有等高线的三维网格曲面,带有底座的三维网格曲面、填充颜色三维网格曲面。每幅都设置了坐标轴范围为[-1 1 -1 1 0 2],并添加了相应的标题。其中,第一个区域使用了plot_surface()函数绘制基于x,y,z的三维网格曲面,第二个区域使用了plot_surface()和contour()函数绘制带有等高线的三维网格曲面,第三个区域使用了plot_surface()和contour()函数绘制带有底座的三维网格曲面,第四个区域使用了plot_surface()和plot_wireframe()函数绘制填充颜色三维网格曲面
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

且听风吟~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值