酷代码 AI
菜单
服务商

使用matplotlib绘制z=sin(x)-cos(y)的3D曲面

使用`matplotlib`可以绘制`z = sin(x) - cos(y)`的曲面,这里使用`numpy`生成指定范围的数据,并使用`matplotlib`中的`mplot3d`工具包进行3D绘图。 ### 示例代码 ```python import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D # 设置图片清晰度 plt.rcParams['figure.dpi'] = 300 # 生成 x 和 y 的数据 x = np.linspace(-40, 40, 1000) y = np.linspace(-40, 40, 1000) # 创建网格点坐标矩阵 X, Y = np.meshgrid(x, y) # 计算 z 的值 Z = np.sin(X) - np.cos(Y) # 创建3D图形对象 fig = plt.figure() ax = fig.add_subplot(111, projection='3d') # 绘制3D曲面 surf = ax.plot_surface(X, Y, Z, cmap='viridis') # 添加颜色条 fig.colorbar(surf, shrink=0.5, aspect=5) # 设置坐标轴标签 ax.set_xlabel('X') ax.set_ylabel('Y') ax.set_zlabel('Z') # 显示图形 plt.show() ``` ### 代码解释 1. **数据生成**:使用`numpy`的`linspace`函数生成`x`和`y`在`-40`到`40`范围内的1000个等间距的点,然后使用`np.meshgrid`函数将这些点转换为网格点坐标矩阵。 2. **计算`z`值**:根据公式`z = sin(x) - cos(y)`计算每个网格点对应的`z`值。 3. **创建3D图形对象**:使用`matplotlib`的`figure`函数创建一个图形对象,使用`add_subplot`方法添加一个3D子图。 4. **绘制3D曲面**:使用`plot_surface`方法绘制3D曲面,并指定颜色映射为`viridis`。 5. **添加颜色条**:使用`colorbar`方法为曲面添加颜色条。 6. **设置坐标轴标签**:使用`set_xlabel`、`set_ylabel`和`set_zlabel`方法设置坐标轴的标签。 7. **显示图形**:使用`show`方法显示绘制好的图形。 ######[AI问答 | 586点数解答 | 2026-02-15 14:04:54]

相关提问
发财导航,免费问AI
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]