matplotlib 三维图表绘制方法简介


Posted in Python onSeptember 20, 2020

1. python三维图表绘制方法简介

python三维图表的绘制算是二维图表的一个进阶版本,本质上和二维图表的绘制并无差别,唯一的区别在于使用的库略有差异。

相较于二维图表使用的pyplot库,三维图表的绘制使用的是Axes3D库。

库引入语句为:

from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

上下的操作就和二维图表绘制大差不差了,首先定义三维画布,然后向里面绘制三维图表,最后打印出结果即可。

下面,我们通过一些实例来进行说明。

2. 实例说明

 1. 三维曲线图绘制

首先,我们来看一下三维曲线图的绘制。

三维曲线图的绘制和二维曲线图的绘制方法极其相似,只是我们需要做以下两点修改:

  • 将画布修改为三维坐标系;
  • 传参时同时传入x、y、z三个维度的坐标信号。

另外,plot函数需要修改三维曲线绘制的Axes3D.plot函数。

给出代码样例如下:

import numpy
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

theta = numpy.linspace(0, 3.14*4, 200)
r = numpy.linspace(0, 1, 200)
x = r * numpy.cos(theta)
y = r * numpy.sin(theta)
z = numpy.linspace(0, 2, 200)

fig = plt.figure(figsize=(12, 7))
ax1 = plt.axes(projection='3d')
ax1.plot(x, y, z)
plt.show()

运行即可得到一张三维曲线图。

matplotlib 三维图表绘制方法简介

2. 三维散点图绘制

下面,我们来看一下三维空间中的散点图绘制方法。

其方法其实挺简单的,就是先绘制x、y面的网点坐标,计算相应的z轴高度,而后创建一张三维图,然后通过Axes3D.scatter函数进行散点图绘制即可。

我们给出具体的代码样例如下:

import numpy
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

x = numpy.linspace(-2, 2, 10)
y = numpy.linspace(-2, 2, 10)
xx, yy = numpy.meshgrid(x, y)
z = xx ** 2 - yy ** 2

fig = plt.figure(figsize=(12, 7))
ax1 = plt.axes(projection='3d') # 创建三维坐标轴
ax1.scatter(xx, yy, z) # 绘制三维散点图
plt.show()

运行即可得到三维散点图。

matplotlib 三维图表绘制方法简介

3. 三维曲面图绘制

三维曲面图的绘制与三维极其类似,只需要将Axes3D.scatter函数替换为Axes3D.plot_surface函数即可。

我们就不再多做解释了,直接给出代码样例如下:

import numpy
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

x = numpy.linspace(-2, 2, 10)
y = numpy.linspace(-2, 2, 10)
xx, yy = numpy.meshgrid(x, y)
print(xx.shape, yy.shape)
z = xx ** 2 - yy ** 2

fig = plt.figure(figsize=(12, 7))
ax1 = plt.axes(projection='3d') # 创建三维坐标轴
ax1.plot_surface(xx, yy, z) # 绘制三维曲面图
plt.show()

运行即可得到三维曲面图。

matplotlib 三维图表绘制方法简介

3. 参考链接

 https://matplotlib.org/tutorials/toolkits/mplot3d.html

Python三维绘图?Matplotlib

到此这篇关于matplotlib 三维图表绘制方法简介的文章就介绍到这了,更多相关matplotlib 三维图表内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python脚本实现统计日志文件中的ip访问次数代码分享
Aug 06 Python
把项目从Python2.x移植到Python3.x的经验总结
Apr 20 Python
Tensorflow卷积神经网络实例进阶
May 24 Python
Python中实例化class的执行顺序示例详解
Oct 14 Python
Flask核心机制之上下文源码剖析
Dec 25 Python
python实现的爬取电影下载链接功能示例
Aug 26 Python
Python字典底层实现原理详解
Dec 18 Python
python+tifffile之tiff文件读写方式
Jan 13 Python
pytorch 常用线性函数详解
Jan 15 Python
使用Python实现Wake On Lan远程开机功能
Jan 22 Python
使用matlab 判断两个矩阵是否相等的实例
May 11 Python
Python中and和or如何使用
May 28 Python
Python三维绘图之Matplotlib库的使用方法
Sep 20 #Python
scrapy利用selenium爬取豆瓣阅读的全步骤
Sep 20 #Python
Python操作dict时避免出现KeyError的几种解决方法
Sep 20 #Python
python中random.randint和random.randrange的区别详解
Sep 20 #Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
Sep 20 #Python
Python Pillow(PIL)库的用法详解
Sep 19 #Python
Python自动化xpath实现自动抢票抢货
Sep 19 #Python
You might like
人工智能开始玩《星际争霸2》 你的操作跟得上吗?
2017/08/11 星际争霸
PHP 自定义错误处理函数的使用详解
2013/05/10 PHP
php多维数组去掉重复值示例分享
2014/03/02 PHP
php smarty truncate UTF8乱码问题解决办法
2014/06/13 PHP
php创建桌面快捷方式实现方法
2015/12/31 PHP
YII Framework框架教程之国际化实现方法
2016/03/14 PHP
微信支付开发发货通知实例
2016/07/12 PHP
PHP的mysqli_thread_id()函数讲解
2019/01/24 PHP
PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】
2019/03/11 PHP
一个不错的用JavaScript实现的UBB编码函数
2007/03/09 Javascript
MooTools 1.2介绍
2009/09/14 Javascript
React学习笔记之条件渲染(一)
2017/07/02 Javascript
node.js连接mysql与基本用法示例
2019/01/05 Javascript
微信小程序云开发之云函数详解
2019/05/16 Javascript
javascript面向对象创建对象的方式小结
2019/07/29 Javascript
vue 解决uglifyjs-webpack-plugin打包出现报错的问题
2020/08/04 Javascript
[02:28]DOTA2 2017国际邀请赛小组赛回顾
2017/08/09 DOTA
Python中用Ctrl+C终止多线程程序的问题解决
2013/03/30 Python
Python调用C语言的方法【基于ctypes模块】
2018/01/22 Python
深入了解Django中间件及其方法
2019/07/26 Python
pytorch多进程加速及代码优化方法
2019/08/19 Python
Window10下python3.7 安装与卸载教程图解
2019/09/30 Python
执行Django数据迁移时报 1091错误及解决方法
2019/10/14 Python
python多线程案例之多任务copy文件完整实例
2019/10/29 Python
如何基于Python创建目录文件夹
2019/12/31 Python
Django Haystack 全文检索与关键词高亮的实现
2020/02/17 Python
CSS3+DIV实现漂亮的动画彩色标签
2016/06/16 HTML / CSS
Pretty Little Thing爱尔兰:时尚女性服饰
2017/03/27 全球购物
SQL面试题
2013/12/09 面试题
秦兵马俑教学反思
2014/02/07 职场文书
安全生产中长期规划实施方案
2014/02/21 职场文书
最美乡村医生事迹材料
2014/06/02 职场文书
学校领导四风问题整改措施思想汇报
2014/10/09 职场文书
大学军训心得体会800字
2016/01/11 职场文书
原来闭幕词是这样写的呀!
2019/07/01 职场文书
漫画《尖帽子的魔法工坊》宣布动画化
2022/04/06 日漫