matplotlib 三维图表绘制方法简介

 更新时间:2020年09月20日 16:45:48   作者:アハハハ君  
这篇文章主要介绍了matplotlib 三维图表绘制方法简介,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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()

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

在这里插入图片描述

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()

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

在这里插入图片描述

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()

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

在这里插入图片描述

3. 参考链接

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

Python三维绘图–Matplotlib

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

相关文章

  • Python selenium使用autoIT上传附件过程详解

    Python selenium使用autoIT上传附件过程详解

    这篇文章主要介绍了Python selenium使用autoIT上传附件过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • pycharm创建一个python包方法图解

    pycharm创建一个python包方法图解

    在本篇文章中小编给大家分享了关于pycharm怎么创建一个python包的相关知识点,需要的朋友们学习下。
    2019-04-04
  • python随机3分钟发送一次消息完整代码

    python随机3分钟发送一次消息完整代码

    最近我接到这样的任务需求有一个实时任务,想要间隔3分钟发送,最近的一次消息,接下来通过本文给大家分享python随机3分钟发送一次消息,需要的朋友可以参考下
    2024-03-03
  • python如何利用cv2.rectangle()绘制矩形框

    python如何利用cv2.rectangle()绘制矩形框

    cv2.rectangle这个函数的作用是在图像上绘制一个简单的矩形,下面这篇文章主要给大家介绍了关于python如何利用cv2.rectangle()绘制矩形框的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • 使用Python制作微信跳一跳辅助

    使用Python制作微信跳一跳辅助

    Python火到微信去了,辅助微信跳一跳,让你玩到朋友圈第一,今天就跟着我来试试用python实现制作跳一跳辅助,并把代码分享给大家
    2018-01-01
  • Sublime如何配置Python3运行环境

    Sublime如何配置Python3运行环境

    这篇文章主要介绍了Sublime如何配置Python3运行环境问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • python数据分析之DateFrame数据排序和排名方式

    python数据分析之DateFrame数据排序和排名方式

    这篇文章主要介绍了python数据分析之DateFrame数据排序和排名方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Python函数中apply、map、applymap的区别

    Python函数中apply、map、applymap的区别

    这篇文章主要介绍了 Python函数中apply、map、applymap的区别 ,文章围绕 Python函数中apply、map、applymap的相关资料展开详细内容,需要的朋友可以参考一下
    2021-11-11
  • Python爬虫之Selenium鼠标事件的实现

    Python爬虫之Selenium鼠标事件的实现

    这篇文章主要介绍了Python爬虫之Selenium鼠标事件的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • pycharm全局搜索的具体步骤

    pycharm全局搜索的具体步骤

    在本篇文章里小编给大家整理的是一篇关于pycharm全局搜索的具体步骤,有需要的朋友们可以参考下。
    2020-07-07

最新评论