使用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]
- Python 3D 可视化:冰晶玫瑰代码优化与开发注意事项揭秘(字节豆包 | 897点数解答 | 2025-12-12 23:16:19)48
- 代码揭秘:子午线弧长与基础纬度计算及输入参数有效性考量(字节豆包 | 48点数解答 | 2024-11-21 13:05:21)246
- C语言实现子午线弧长与基础纬度计算:精度、初始值及数值稳定性要点解析(阿里通义 | 565点数解答 | 2024-11-21 13:08:38)250
- Python与HTML+JavaScript实现3D粒子爱心动画:代码剖析与开发要点(字节豆包 | 1487点数解答 | 2025-08-07 11:24:56)145
- Python 用 Matplotlib 和 NumPy 绘制 3D 爱心动画:开发要点与注意事项(DeepSeek | 130点数解答 | 2025-08-29 21:24:33)140
- Matlab 轻松绘制三维曲线:附详细代码及点数调整技巧(字节豆包 | 189点数解答 | 2024-10-25 08:50:55)174
- MATLAB动画仿真:地球、卫星与嫦娥一号运动轨迹,可改旋转半径!(阿里通义 | 758点数解答 | 2024-10-11 08:18:21)167
- Matlab 动画仿真:改变算法与半径呈现地球、卫星和嫦娥一号运动轨迹(字节豆包 | 493点数解答 | 2024-10-11 08:19:52)186
- Matlab 动画仿真:改变算法与旋转半径呈现地球、卫星和嫦娥一号运动轨迹 (字节豆包 | 514点数解答 | 2024-10-11 08:21:41)368
- MATLAB 动画仿真:地球、卫星与嫦娥一号运动轨迹,可改核心算法和旋转半径! (GPT | 843点数解答 | 2024-10-11 08:30:24)288
- MATLAB动画仿真:地球、卫星与嫦娥一号运动轨迹,核心算法及旋转半径大改变! (讯飞星火 | 715点数解答 | 2024-10-11 08:31:19)218
- Flask代理FastGPT API代码分析:问题剖析与全面改进建议 (DeepSeek | 713点数解答 | 2025-06-18 16:00:34)200