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实现定时同步本机与北京时间的方法
Mar 24 Python
在Python的Bottle框架中使用微信API的示例
Apr 23 Python
Python实现多线程抓取网页功能实例详解
Jun 08 Python
python使用pyqt写带界面工具的示例代码
Oct 23 Python
解决已经安装requests,却依然提示No module named requests问题
May 18 Python
Python实现多态、协议和鸭子类型的代码详解
May 05 Python
Python collections模块使用方法详解
Aug 28 Python
python栈的基本定义与使用方法示例【初始化、赋值、入栈、出栈等】
Oct 24 Python
python实现数据清洗(缺失值与异常值处理)
Dec 02 Python
Python局部变量与全局变量区别原理解析
Jul 14 Python
Django REST 异常处理详解
Jul 15 Python
python中not、and和or的优先级与详细用法介绍
Nov 03 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中的时间处理
2006/10/09 PHP
PHP中overload与override的区别
2017/02/13 PHP
PHP中检查isset()和!empty()函数的必要性
2019/02/13 PHP
js 判断脚本加载完毕的代码
2011/07/13 Javascript
jquery 面包屑导航 具体实现
2013/06/05 Javascript
node.js中的events.emitter.listeners方法使用说明
2014/12/10 Javascript
jquery实现的横向二级导航效果代码
2015/08/26 Javascript
AngularJS中实现显示或隐藏动画效果的方式总结
2015/12/31 Javascript
轻松掌握JavaScript中介者模式
2016/08/26 Javascript
JavaScript & jQuery完美判断图片是否加载完毕
2017/01/08 Javascript
Javascript 两种刷新方法以及区别和适用范围
2017/01/17 Javascript
jQuery层级选择器_动力节点节点Java学院整理
2017/07/04 jQuery
JavaScript实现兼容IE6的收起折叠与展开效果实例
2017/09/20 Javascript
Vue使用枚举类型实现HTML下拉框步骤详解
2018/02/05 Javascript
Vue实现日历小插件
2019/06/26 Javascript
微信小程序webview 脚手架使用详解
2019/07/22 Javascript
在Python的setuptools框架下生成egg的教程
2015/04/13 Python
Python基于回溯法子集树模板解决最佳作业调度问题示例
2017/09/08 Python
Python cookbook(数据结构与算法)将名称映射到序列元素中的方法
2018/03/22 Python
pycharm的console输入实现换行的方法
2019/01/16 Python
Python中面向对象你应该知道的一下知识
2019/07/10 Python
python小程序之4名牌手洗牌发牌问题解析
2020/05/15 Python
如何在sublime编辑器中安装python
2020/05/20 Python
美国领先的个性化礼品商城:Personalization Mall
2019/07/27 全球购物
Puccini乌克兰:购买行李箱、女士手袋网上商店
2020/08/06 全球购物
华三通信H3C面试题
2015/05/15 面试题
国际贸易专业推荐信
2013/11/15 职场文书
文明礼仪小标兵事迹
2014/01/12 职场文书
小学生元旦广播稿
2014/02/21 职场文书
一份关于丢失公司财物的检讨书
2014/09/19 职场文书
党的群众路线查摆剖析材料
2014/10/10 职场文书
教师政风行风自查自纠报告
2014/10/21 职场文书
旷课检讨书范文
2014/10/30 职场文书
2015年英语教师工作总结
2015/05/20 职场文书
统招统分证明
2015/06/23 职场文书
教师读书活动心得体会
2016/01/14 职场文书