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分割列表(list)的方法示例
May 07 Python
python的socket编程入门
Jan 29 Python
Python实现Pig Latin小游戏实例代码
Feb 02 Python
Python基于whois模块简单识别网站域名及所有者的方法
Apr 23 Python
python3 小数位的四舍五入(用两种方法解决round 遇5不进)
Apr 11 Python
Python 元组操作总结
Sep 18 Python
django实现用户注册实例讲解
Oct 30 Python
基于pycharm实现批量修改变量名
Jun 02 Python
python实现学生成绩测评系统
Jun 22 Python
python 实现汉诺塔游戏
Nov 28 Python
Matplotlib可视化之添加让统计图变得简单易懂的注释
Jun 11 Python
python四种出行路线规划的实现
Jun 23 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
dedecms中显示数字验证码的修改方法
2007/03/21 PHP
php $_SERVER当前完整url的写法
2009/11/12 PHP
dvwa+xampp搭建显示乱码的问题及解决方案
2015/08/23 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
教你如何使用node.js制作代理服务器
2014/11/26 Javascript
Bootstrap自定义文件上传下载样式
2016/05/26 Javascript
Javascript中的迭代、归并方法详解
2016/06/14 Javascript
检查表单元素的值是否为空的实例代码
2016/06/16 Javascript
javascript回到顶部特效
2016/07/30 Javascript
js 获取当前web应用的上下文路径实现方法
2016/08/19 Javascript
基于Vue.js实现简单搜索框
2020/03/26 Javascript
js通过keyCode值判断单击键盘上某个键,然后触发指定的事件方法
2017/02/19 Javascript
js中document.referrer实现移动端返回上一页
2017/02/22 Javascript
vue+axios+mock.js环境搭建的方法步骤
2018/08/28 Javascript
vue-cli webpack 引入swiper的操作方法
2018/09/15 Javascript
总结javascript三元运算符知识点
2018/09/28 Javascript
JavaScript时间与时间戳的转换操作实例分析
2018/12/07 Javascript
js实现数字从零慢慢增加到指定数字示例
2019/11/07 Javascript
vue 微信扫码登录(自定义样式)
2020/01/06 Javascript
Python使用reportlab将目录下所有的文本文件打印成pdf的方法
2015/05/20 Python
python中subprocess批量执行linux命令
2018/04/27 Python
基于scrapy的redis安装和配置方法
2018/06/13 Python
Python列表解析配合if else的方法
2018/06/23 Python
python实现遍历文件夹修改文件后缀
2018/08/28 Python
Python 获取中文字拼音首个字母的方法
2018/11/28 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
2020/01/08 Python
Python爬虫获取op.gg英雄联盟英雄对位胜率的源码
2021/01/29 Python
King Apparel官网:英国街头服饰品牌
2019/09/05 全球购物
通往英国高街的商店橱窗:Down Your High Street
2020/07/19 全球购物
企业给企业的表扬信
2014/01/13 职场文书
高一新生军训感言
2014/03/02 职场文书
经典的毕业生自荐信范文
2014/04/14 职场文书
数字化校园建设方案
2014/05/03 职场文书
诚信的演讲稿范文
2014/05/12 职场文书
献爱心标语
2014/06/21 职场文书
2015年司法所工作总结
2015/04/27 职场文书