【中秋节快乐】Matplotlib:3d绘图合集

目录

一、环境介绍

二、Matplotlib绘图(3d)

 0. 设置中文字体

1. 3D线框图(3D Wireframe Plot)

2. 3D散点图(3D Scatter Plot)

 3. 3D条形图(3D Bar Plot)

4. 3D曲面图(3D Surface Plot)

 5. 3D等高线图(3D Contour Plot)

 6. 3D向量场图(3D Vector Field Plot)

7. 未完待续


一、环境介绍

matplotlib3.5.3
numpy1.21.6
python3.7.16
  • 运行下述命令检查Python版本
 python --version 
  • 运行下述代码检查Python、NumPy、Matplotlib版本
import sys
import numpy as np
import matplotlibprint("Python 版本:", sys.version)
print("NumPy 版本:", np.__version__)
print("matplotlib 版本:", matplotlib.__version__)

二、Matplotlib绘图(3d)

 0. 设置中文字体

import matplotlibmatplotlib.rcParams['font.family'] = 'Microsoft YaHei'  # 设置为微软雅黑字体
matplotlib.rcParams['font.sans-serif'] = ['SimHei']     # 设置中文字体为黑体

        若不进行该设置,会报错字体缺失

1. 3D线框图(3D Wireframe Plot)

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np# 生成数据
x = np.linspace(-5, 5, 50)  # x轴坐标
y = np.linspace(-5, 5, 50)  # y轴坐标
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))  # z轴坐标,这里使用sin函数生成一个曲面# 创建一个三维坐标系
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')# 绘制线框图
ax.plot_wireframe(X, Y, Z)# 设置坐标轴标签
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')# 显示图形
plt.show()

2. 3D散点图(3D Scatter Plot)

import matplotlib.pyplot as plt
import numpy as np# 数据准备
x = np.random.rand(100)  # x轴数据
y = np.random.rand(100)  # y轴数据
z = np.random.rand(100)  # z轴数据
colors = np.random.rand(100)  # 颜色数据# 创建3D图形对象
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')# 绘制3D散点图
ax.scatter(x, y, z, c=colors, cmap='viridis', marker='o')# 设置坐标轴标签
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')# 显示图形
plt.show()

 3. 3D条形图(3D Bar Plot)

import matplotlib.pyplot as plt
import numpy as np# 数据准备
x = np.arange(3)  # x轴位置
y = np.arange(3)  # y轴位置
x_mesh, y_mesh = np.meshgrid(x, y)  # 创建网格
z = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])  # 条形的高度# 创建3D图形对象
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')# 绘制3D条形图
ax.bar3d(x_mesh.flatten(), y_mesh.flatten(), np.zeros_like(z).flatten(), 0.5, 0.5, z.flatten())# 设置坐标轴标签
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')# 显示图形
plt.show()

   

4. 3D曲面图(3D Surface Plot)

import matplotlib.pyplot as plt
import numpy as np# 数据准备
x = np.linspace(-5, 5, 100)  # x轴数据范围
y = np.linspace(-5, 5, 100)  # y轴数据范围
x_mesh, y_mesh = np.meshgrid(x, y)  # 创建网格
z = np.sin(np.sqrt(x_mesh**2 + y_mesh**2))  # 曲面高度# 创建3D图形对象
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')# 绘制3D曲面图
ax.plot_surface(x_mesh, y_mesh, z, cmap='viridis')# 设置坐标轴标签
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')# 显示图形
plt.show()

  

 5. 3D等高线图(3D Contour Plot)

import matplotlib.pyplot as plt
import numpy as np# 数据准备
x = np.linspace(-5, 5, 100)  # x轴数据范围
y = np.linspace(-5, 5, 100)  # y轴数据范围
x_mesh, y_mesh = np.meshgrid(x, y)  # 创建网格
z = np.sin(np.sqrt(x_mesh**2 + y_mesh**2))  # 曲面高度# 创建3D图形对象
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')# 绘制3D等高线图
ax.contour3D(x_mesh, y_mesh, z, 50, cmap='viridis')# 设置坐标轴标签
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')# 显示图形
plt.show()

 6. 3D向量场图(3D Vector Field Plot)

import matplotlib.pyplot as plt
import numpy as np# 数据准备
x = np.linspace(-2, 2, 10)  # x轴数据范围
y = np.linspace(-2, 2, 10)  # y轴数据范围
z = np.linspace(-2, 2, 10)  # z轴数据范围
x_mesh, y_mesh, z_mesh = np.meshgrid(x, y, z)  # 创建网格
u = np.sin(x_mesh) * np.cos(y_mesh) * np.cos(z_mesh)  # x方向分量
v = -np.cos(x_mesh) * np.sin(y_mesh) * np.cos(z_mesh)  # y方向分量
w = np.sqrt(2.0 / 3.0) * np.cos(x_mesh) * np.cos(y_mesh) * np.sin(z_mesh)  # z方向分量# 创建3D图形对象
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')# 绘制3D向量场图
ax.quiver(x_mesh, y_mesh, z_mesh, u, v, w)# 设置坐标轴标签
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')# 显示图形
plt.show()

7. 未完待续

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/144863.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Unity中Shader通道ColorMask

文章目录 [TOC](文章目录) 前言一、ColorMask是用来干什么的二、怎么做到和 Unity UI 中的 Shader 一样根据UI层级自动适配Shader中模板测试值1、借鉴Unity官方的 UI Shader 前言 Unity中Shader通道ColorMask 一、ColorMask是用来干什么的 ColorMask RGB | A | 0 | R、G、B、…

【DTEmpower案例操作教程】智能数据挖掘

DTEmpower是由天洑软件自主研发的一款通用的智能数据建模软件,致力于帮助工程师及工科专业学生,利用工业领域中的仿真、试验、测量等各类数据进行挖掘分析,建立高质量的数据模型,实现快速设计评估、实时仿真预测、系统参数预警、设…

Unity实现设计模式——命令模式

Unity实现设计模式——命令模式 推荐一个Unity学习设计模式很好的GitHub地址:https://github.com/QianMo/Unity-Design-Pattern 有非常多的Star 一、介绍 命令模式使得请求的发送者与请求的执行者之间消除耦合,让对象之间的调用关系更加灵活。在命令模…

前端框架介绍

一、node.js 配置淘宝镜像源 npm config set registry https://registry.npm.taobao.org可以使用npm config list命令来确认镜像地址是否已成功更改。 如果需要将配置的镜像恢复为默认的npm官方源,可以执行以下命令: npm config delete registry二、vue 1、创建Vue项目 …

掌握 JavaScript 数组方法:了解如何操作和优化数组

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

最新AI创作系统源码ChatGPT源码+附详细搭建部署教程+AI绘画系统+支持国内AI提问模型

一、AI系统介绍 SparkAi创作系统是基于国外很火的ChatGPT进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧&am…

国密国际SSL双证书解决方案,满足企事业单位国产国密SSL证书要求

近年来,为了摆脱对国外技术和产品的依赖,建设安全的网络环境,以及加强我国对网络信息的安全可控能力,我国推出了国密算法。同时,为保护网络通信信息安全,更高级别的安全加密数字证书—国密SSL证书应运而生。…

Linux虚拟机无法联网

问题描述 Centos7,配置了静态IP后,无法联网 解决方式 虚拟机连接不上网络,解决办法_虚拟机连不上网络-CSDN博客 根据上面文章一步步做。 发现 在Windows的cmd中,可以ping通我的Linux虚拟机 但是,在虚拟机里 无法 …

微信、支付宝、百度、抖音开放平台第三方代小程序开发总结

大家好,我是小悟 小伙伴们都开启小长假了吧,值此中秋国庆双节之际,小悟祝所有的小伙伴们节日快乐。 支付宝社区很用心,还特意给寄了袋月饼,愿中秋节的圆月带给你身体健康,幸福团圆,国庆节的旗帜…

uni-app:js修改元素样式(宽度、外边距)

效果 代码 1、在<view>元素上添加一个ref属性&#xff0c;用于在JavaScript代码中获取对该元素的引用&#xff1a;<view ref"myView" id"mybox"></view> 2、获取元素引用 &#xff1a;const viewElement this.$refs.myView.$el; 3、修改…

Polygon Miden:扩展以太坊功能集的ZK-optimized rollup

1. 引言 Polygon Miden定位为zkVM&#xff0c;定于2023年Q4上公开测试网。 zk、zkVM、zkEVM及其未来中指出&#xff0c;当前主要有3种类型的zkVM&#xff0c;括号内为其相应的指令集&#xff1a; mainstream&#xff08;WASM, RISC-V&#xff09;EVM&#xff08;EVM bytecod…

Unity实现设计模式——责任链模式

Unity实现设计模式——责任链模式 责任链模式定义&#xff1a;将请求的发送和接收解耦&#xff0c;让多个接收对象都有机会处理这个请求。将这些接收对象串成一条链&#xff0c;并沿着这条链传递这个请求&#xff0c;直到链上的某个接收对象能够处理它为止。 在职责链模式中&…

【小余送书第二期】《MLOps工程实践:工具、技术与企业级应用》参与活动,即有机会中奖哦!!!祝各位铁铁们双节快乐!

目录 1、背景介绍 2、内容简介 3、读者对象 4、专家推荐 5、书籍目录 目  录 作者简介 前言 第1章 全面了解MLOps1 1.1 人工智能的趋势和现状 1 1.1.1 趋势1&#xff1a;人工智能在企业中加速落地&#xff0c;彰显更多业务价值 1 1.1.2 趋势2&#xff1a;人…

RFID资产管理系统应用助力企业实现高效资产运营管理

在企业运营中&#xff0c;资产以各种形式存在&#xff0c;包括生产物资、设备、车辆、办公桌、电脑、电缆等等&#xff0c;这些资产都具有价值高、流动性强、安全管理难等特点&#xff0c;而固定资产数量多、种类繁多、价值高、使用周期长、使用地点分散等特点使得其管理变得非…

Scala第六章节

Scala第六章节 scala总目录 章节目标 掌握类和对象的定义掌握访问修饰符和构造器的用法掌握main方法的实现形式掌握伴生对象的使用掌握定义工具类的案例 1. 类和对象 Scala是一种函数式的面向对象语言, 它也是支持面向对象编程思想的&#xff0c;也有类和对象的概念。我们依…

助力古彝文保护,AI文字识别技术推动文化传承

文章目录 一、写在前面古彝文为何物&#xff1f;古彝文的保护背景 二、古彝文识别有何难点&#xff1f;如何解决&#xff1f;三、合合信息的强劲技术四、古文识别的重要意义 一、写在前面 古彝文为何物&#xff1f; 彝文指的是云南、贵州、四川等地的彝族人使用的文字&#x…

9.为算法中的特定行添加注释

在 algorithm2e 宏包中&#xff0c;您可以使用 \tcp{} 命令来为算法中的特定行添加注释。这个命令会在算法伪代码中的某一行的末尾添加注释文本。 以下是一个\tcp 示例&#xff0c;演示如何在算法中添加注释&#xff1a; \documentclass{article} \usepackage[linesnumbered,…

【Linux学习】05-1Linux上安装部署各类软件

Linux&#xff08;B站黑马&#xff09;学习笔记 01Linux初识与安装 02Linux基础命令 03Linux用户和权限 04Linux实用操作 05-1Linux上安装部署各类软件 文章目录 Linux&#xff08;B站黑马&#xff09;学习笔记前言05-1Linux上安装部署各类软件JDK安装部署Tomcat安装部署maven…

【中国知名企业高管团队】系列22:滴滴

大家好&#xff01; 今天华研荟的走进中国知名企业高管团队系列带大家认识滴滴。 滴滴公司是出行领域的先行者&#xff0c;也是一个典型样本。通过滴滴公司的名字变迁我们可以感受到滴滴公司的业务发展&#xff0c;这也是整个出行行业公司的发展路径&#xff1a; 第一阶段&a…

Three.js加载360全景图片/视频

Three.js加载360全景图片/视频 效果 原理 将全景图片/视频作为texture引入到three.js场景中将贴图与球形网格模型融合&#xff0c;将球模型当做成环境容器使用处理视频时需要以dom为载体&#xff0c;加载与控制视频动作每次渲染时更新当前texture&#xff0c;以达到视频播放效…