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的subprocess模块总结
Nov 07 Python
Python中函数的参数定义和可变参数用法实例分析
Jun 04 Python
Python Socket传输文件示例
Jan 16 Python
Django的分页器实例(paginator)
Dec 01 Python
Python爬虫_城市公交、地铁站点和线路数据采集实例
Jan 10 Python
python 生成图形验证码的方法示例
Nov 11 Python
selenium+python自动化测试环境搭建步骤
Jun 03 Python
python 字典套字典或列表的示例
Dec 16 Python
Python使用configparser库读取配置文件
Feb 22 Python
python字符串常用方法及文件简单读写的操作方法
Mar 04 Python
Python 中的函数装饰器和闭包详解
Feb 06 Python
Pytorch实现图像识别之数字识别(附详细注释)
May 11 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
PHP操作数组相关函数
2011/02/03 PHP
PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
2011/12/28 PHP
apache mysql php 源码编译使用方法
2012/05/03 PHP
php中rename函数用法分析
2014/11/15 PHP
php管理nginx虚拟主机shell脚本实例
2014/11/19 PHP
两种php给图片加水印的实现代码
2020/04/18 PHP
golang 调用 php7详解及实例
2017/01/04 PHP
PHP实现二维数组中的查找算法小结
2018/06/09 PHP
javascript编程起步(第三课)
2007/02/27 Javascript
jquery validator 插件增加日期比较方法
2010/02/21 Javascript
jQuery 过滤not()与filter()实例代码
2012/05/10 Javascript
javascritp添加url参数将参数加入到url中
2014/09/25 Javascript
javascript中Date对象的getDay方法使用指南
2014/12/22 Javascript
深入理解JavaScript中的对象
2015/06/04 Javascript
详细解读JavaScript的跨浏览器事件处理
2015/08/12 Javascript
数据分析软件之FineReport教程:[5]参数界面JS(全)
2015/08/13 Javascript
uploader秒传图片到服务器完整代码
2017/04/22 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
2017/07/28 Javascript
node-sass安装失败的原因与解决方法
2017/09/04 Javascript
详解AngularJS之$window窗口对象
2018/01/17 Javascript
react中fetch之cors跨域请求的实现方法
2018/03/14 Javascript
判断js数据类型的函数实例详解
2019/05/23 Javascript
通过JS深度判断两个对象字段相同
2019/06/14 Javascript
vue之封装多个组件调用同一接口的案例
2020/08/11 Javascript
[53:10]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs VG 第一场
2018/04/11 DOTA
python使用电子邮件模块smtplib的方法
2016/08/28 Python
Python发展简史 Python来历
2019/05/14 Python
python面向对象之类属性和类方法案例分析
2019/12/30 Python
Pytorch实现神经网络的分类方式
2020/01/08 Python
python求前n个阶乘的和实例
2020/04/02 Python
全球知名旅游社区法国站点:TripAdvisor法国
2016/08/03 全球购物
丝芙兰波兰:Sephora.pl
2018/03/25 全球购物
金融事务专业毕业生求职信
2014/02/23 职场文书
车辆转让协议书
2014/09/24 职场文书
2016校本研修培训心得体会
2016/01/08 职场文书
人身损害赔偿协议书
2016/03/22 职场文书