python 绘制3D平面图

函数介绍

ax3d.plot_surface( x, # 网格坐标矩阵的x坐标 (2维数组)

y, # 网格坐标矩阵的y坐标 (2维数组)

z, # 网格坐标矩阵的z坐标 (2维数组)

rstride=30, # 行跨距

cstride=30, # 列跨距

cmap='jet' # 配色方案 )

配色方案如下:

有很多配色方案不仅局限于下面的几种,可以根据需要设置不同方案

代码如下:

python 复制代码
# 绘制3D平面图
# 三维曲面图:切分成很多小段,每段绘制一个小平面
import numpy as np
import matplotlib.pyplot as mp
from mpl_toolkits.mplot3d import Axes3D
n = 1000
# 生成网格化坐标矩阵
# np.linspace()函数用于在区间内生成n个数据
# meshgrid用于生成网格矩阵  
'''
例如 矩阵
有如下坐标点
(0,1) (1, 1) (2, 1) (1, 0) (1, 0) (1, 0)
那么生成的x矩阵为
0 1 2
1 1 1
y矩阵为
1 1 1 
0 0 0
'''
x, y = np.meshgrid(np.linspace(-3, 3, n), np.linspace(-3, 3, n))
# 根据每个网格点坐标,通过某个公式计算z高度坐标
z = (1 - x / 2 + x ** 5 + y ** 3) * np.exp(-x ** 2 - y ** 2)
mp.figure('3D', facecolor='lightgray')  # 创建画布
# matplotlib不同版本对应的projection的写法不同,可根据对应版本查询其不同的写法,当前matplotlib版本为3.5.2
ax3d = mp.gca(projection='3d')  # 获取坐标系
mp.title('3D Surface', fontsize=18) # 设置图形的名称和字体
ax3d.set_xlabel('x', fontsize=14)  # 设置x轴名称和名称的字体大小
ax3d.set_ylabel('y', fontsize=14)
ax3d.set_zlabel('z', fontsize=14)
# 绘制3D平面图
# rstride: 行跨距
# cstride: 列跨距
ax3d.plot_surface(x, y, z, rstride=30, cstride=30, cmap='jet') # jet配色方案,正数越大越红,越小越蓝
mp.show()
相关推荐
Python×CATIA工业智造2 小时前
Frida RPC高级应用:动态模拟执行Android so文件实战指南
开发语言·python·pycharm
onceco2 小时前
领域LLM九讲——第5讲 为什么选择OpenManus而不是QwenAgent(附LLM免费api邀请码)
人工智能·python·深度学习·语言模型·自然语言处理·自动化
我叫小白菜3 小时前
【Java_EE】单例模式、阻塞队列、线程池、定时器
java·开发语言
狐凄3 小时前
Python实例题:基于 Python 的简单聊天机器人
开发语言·python
weixin_446122464 小时前
JAVA内存区域划分
java·开发语言·redis
悦悦子a啊4 小时前
Python之--基本知识
开发语言·前端·python
QuantumStack4 小时前
【C++ 真题】P1104 生日
开发语言·c++·算法
whoarethenext5 小时前
使用 C++/OpenCV 和 MFCC 构建双重认证智能门禁系统
开发语言·c++·opencv·mfcc
笑稀了的野生俊5 小时前
在服务器中下载 HuggingFace 模型:终极指南
linux·服务器·python·bash·gpu算力
Naiva5 小时前
【小技巧】Python+PyCharm IDE 配置解释器出错,环境配置不完整或不兼容。(小智AI、MCP、聚合数据、实时新闻查询、NBA赛事查询)
ide·python·pycharm