当前位置: 首页 > news >正文

python 绘制3D平面图

函数介绍

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

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

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

                               rstride=30, # 行跨距

                               cstride=30, # 列跨距

                               cmap='jet' # 配色方案 )

配色方案如下:

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

代码如下:

# 绘制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()

http://www.dtcms.com/a/205666.html

相关文章:

  • 【前端】每日一道面试题4:什么是CSS容器查询(Container Queries)?与媒体查询有何区别?
  • CSS:vertical-align用法以及布局小案例(较难)
  • Spark SQL、Hive SQL运行流程解析及对比
  • Linux环境基础开发工具->vim
  • Paimon和Hive相集成
  • Java的Filter与Spring的Interceptor的比较
  • vim以及vi编辑器常用快捷键指令
  • DDS与PLL技术
  • [Harmony]实现JSON与类的双向转换
  • OpenCV CUDA模块图像过滤------用于创建一个最小值盒式滤波器(Minimum Box Filter)函数createBoxMinFilter()
  • 第三十二天打卡
  • FFmpeg 超级详细安装与配置教程(Windows 系统)
  • 高等数学-积分
  • Ubuntu18.04安装ros
  • PG Craft靶机复现 宏macro攻击
  • flask允许跨域访问如何设置
  • Android 内存溢出(OOM)的 Kotlin 排查与优化指南
  • 【Java多态】:灵活编程的核心
  • 当AI遇上科研:北大“科学导航”重塑学术探索全流程
  • 数智读书笔记系列034《最优解人生》对编程群体的理念契合
  • 养生攻略:五步打造健康生活
  • 深度学习模型部署:使用Flask将图像分类(5类)模型部署在服务器上,然后在本地GUI调用。(全网模型部署项目步骤详解:从模型训练到部署再到调用)
  • 【缓存】JAVA本地缓存推荐Caffeine和Guava
  • 湖北理元理律师事务所:专业债务优化如何助力负债者重获生活掌控权
  • Java 大视界 -- Java 大数据机器学习模型在金融客户生命周期价值预测与营销策略制定中的应用(262)
  • HarmonyOS 鸿蒙应用开发基础:EventHub,优雅解决跨组件通信难题
  • 微信小程序学习基础:从入门到精通
  • 基于Scikit-learn与Flask的医疗AI糖尿病预测系统开发实战
  • LeetCode 滑动窗口问题 - 核心限制条件总结 (基于灵茶山艾府分类 - 详尽版)
  • Flask 路由跳转机制:url_for生成动态URL、redirect页面重定向