iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中Matplotlib如何实现3D绘图
  • 427
分享到

Python中Matplotlib如何实现3D绘图

2023-06-21 21:06:22 427人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

小编给大家分享一下python中Matplotlib如何实现3D绘图,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mpl_toolkits 是 Matplotli

小编给大家分享一下python中Matplotlib如何实现3D绘图,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

mpl_toolkits 是 Matplotlib 的绘图工具包。

第一个三维绘图程序

下面编写第一个三维绘图程序。

首先创建一个三维绘图区域, plt.axes() 函数提供了一个参数projection,将其参数值设置为 "3d"。如下所示:

#导入三维工具包mplot3dfrom mpl_toolkits import mplot3dimport numpy as npimport matplotlib.pyplot as pltfig = plt.figure()#创建3d绘图区域ax = plt.axes(projection='3d')

有了三维绘图区域,接下来就要构建 3d 图像,如下所示:

#从三个维度构建z = np.linspace(0, 1, 100)x = z * np.sin(20 * z)y = z * np.cos(20 * z)

最后调用 plot3D() 方法绘制 3d 图形,代码如下:

#调用 ax.plot3D创建三维线图ax.plot3D(x, y, z, 'gray')ax.set_title('3D line plot')plt.show()

完整程序如下所示:

from mpl_toolkits import mplot3dimport numpy as npimport matplotlib.pyplot as pltfig = plt.figure()#从三个维度构建z = np.linspace(0, 1, 100)x = z * np.sin(20 * z)y = z * np.cos(20 * z)#调用 ax.plot3D创建三维线图ax.plot3D(x, y, z, 'gray')ax.set_title('3D line plot')plt.show()

输出结果如下所示:

Python中Matplotlib如何实现3D绘图

图1:三维线图(3D Line)

上述代码中的 ax.plot3D() 函数可以绘制各种三维图形,这些三维图都要根据(x,y,z)三元组类来创建。

3D散点图

通过 ax.scatter3D() 函数可以绘制 3D 散点图,示例代码如下:

from mpl_toolkits import mplot3dimport numpy as npimport matplotlib.pyplot as pltfig = plt.figure()#创建绘图区域ax = plt.axes(projection='3d')#构建xyzz = np.linspace(0, 1, 100)x = z * np.sin(20 * z)y = z * np.cos(20 * z)c = x + yax.scatter3D(x, y, z, c=c)ax.set_title('3d Scatter plot')plt.show()

输出结果图:

Python中Matplotlib如何实现3D绘图

图2:Matplotlib 3D绘图

3D等高线图

ax.contour3D() 可以用来创建三维等高线图,该函数要求输入数据均采用二维网格式的矩阵坐标。同时,它可以在每个网格点(x,y)处计算出一个 z 值。

以下示例展示了如何绘制三维正弦等高线图。代码如下:

from mpl_toolkits import mplot3dimport numpy as npimport matplotlib.pyplot as pltdef f(x, y):   return np.sin(np.sqrt(x ** 2 + y ** 2))#构建x、y数据x = np.linspace(-6, 6, 30)y = np.linspace(-6, 6, 30)#将数据网格化处理X, Y = np.meshgrid(x, y)Z = f(X, Y)fig = plt.figure()ax = plt.axes(projection='3d')#50表示在z轴方向等高线的高度层级,binary颜色从白色变成黑色ax.contour3D(X, Y, Z, 50, cmap='binary')ax.set_xlabel('x')ax.set_ylabel('y')ax.set_zlabel('z')ax.set_title('3D contour')plt.show()

输出结果图如下:

Python中Matplotlib如何实现3D绘图

图3:绘制三维轮廓图

3D线框图

线框图同样要采用二维网格形式的数据,与绘制等高线图类似。

线框图可以将数据投影到指定的三维表面上,并输出可视化程度较高的三维效果图。通过 plot_wireframe() 能够绘制 3D 线框图。代码如下:

from mpl_toolkits import mplot3dimport numpy as npimport matplotlib.pyplot as plt#要绘制函数图像def f(x, y):   return np.sin(np.sqrt(x ** 2 + y ** 2))#准备x,y数据x = np.linspace(-6, 6, 30)y = np.linspace(-6, 6, 30)#生成x、y网格化数据X, Y = np.meshgrid(x, y)#准备z值Z = f(X, Y)#绘制图像fig = plt.figure()ax = plt.axes(projection='3d')#调用绘制线框图的函数plot_wireframe()ax.plot_wireframe(X, Y, Z, color='black')ax.set_title('wireframe')plt.show()

输出结果如下:

Python中Matplotlib如何实现3D绘图

图4:Matplotlib绘制线框图

3D曲面图

曲面图表示一个指定的因变量y与两个自变量x和z之间的函数关系。

3D 曲面图是一个三维图形,它非常类似于线框图。不同之处在于,线框图的每个面都由多边形填充而成。Matplotlib 提供的 plot_surface() 函数可以绘制 3D 曲面图,该函数需要接受三个参数值 x,y 和 z 。示例代码如下:

from mpl_toolkits import mplot3dimport numpy as npimport matplotlib.pyplot as plt#求向量积(outer()方法又称外积)x = np.outer(np.linspace(-2, 2, 30), np.ones(30))#矩阵转置y = x.copy().T #数据zz = np.cos(x ** 2 + y ** 2)#绘制曲面图fig = plt.figure()ax = plt.axes(projection='3d')调用plot_surface()函数ax.plot_surface(x, y, z,cmap='viridis', edgecolor='none')ax.set_title('Surface plot')plt.show()

输出结果图:

Python中Matplotlib如何实现3D绘图

图5:Matplotlib绘制曲面图

以上是“Python中Matplotlib如何实现3D绘图”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网Python频道!

--结束END--

本文标题: Python中Matplotlib如何实现3D绘图

本文链接: https://www.lsjlt.com/news/300898.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python中Matplotlib如何实现3D绘图
    小编给大家分享一下Python中Matplotlib如何实现3D绘图,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mpl_toolkits 是 Matplotli...
    99+
    2023-06-21
  • Python matplotlib如何实现图形绘制
    本篇内容主要讲解“Python matplotlib如何实现图形绘制”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python matplotlib如何实现图形绘制”吧!1....
    99+
    2023-06-21
  • Python+matplotlib如何实现饼图的绘制
    这篇文章主要介绍Python+matplotlib如何实现饼图的绘制,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、整理数据关于cnboo1.xlsx,我放在我的码云里,需要的朋友自行下载:cnboo1.xlsxf...
    99+
    2023-06-29
  • Python+matplotlib如何实现量场图的绘制
    这篇文章主要介绍“Python+matplotlib如何实现量场图的绘制”,在日常操作中,相信很多人在Python+matplotlib如何实现量场图的绘制问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Pyt...
    99+
    2023-06-21
  • WPF如何实现绘制3D图形
    今天小编给大家分享一下WPF如何实现绘制3D图形的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。关键概念视口视口指的是图像要展...
    99+
    2023-07-05
  • Python+Matplotlib绘制3D图像的示例详解
    目录1. 绘制3D柱状图2. 绘制3D曲面图示例1示例23.绘制3D散点图4. 绘制3D曲线图1. 绘制3D柱状图 绘制3D柱状图使用的是axes3d.bar()方法。 可能跟我们中...
    99+
    2024-04-02
  • Python+matplotlib实现饼图的绘制
    目录一、整理数据二、创建饼图三、爆炸效果四、阴影效果五、为饼图加上百分比六、让饼图旋转不同的角度七、为饼图添加边缘线八、为饼图数据分组一、整理数据 关于cnboo1.xlsx,我放在...
    99+
    2024-04-02
  • Python中matplotlib如何绘制散点图
    小编给大家分享一下Python中matplotlib如何绘制散点图,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在python中画散点图主要是用matplotlib模块中的scatter函数,先来看一下scatter函数的...
    99+
    2023-06-15
  • Python+matplotlib实现量场图的绘制
    目录前言1. 量场图概述什么是量场图?量场图使用场景绘制量场图方法2. 量场图属性设置颜色设置透明度设置向量箭头尺寸设置坐标中向量箭头位置设置向量箭头宽度3. 绘制量场图步骤4. 小...
    99+
    2024-04-02
  • 如何在python中使用matplotlib库绘图
    这篇文章给大家介绍如何在python中使用matplotlib库绘图,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。首先介绍绘图时常用的基础命令:plt.plot(x,y)即为绘图命令。①基础画图:plt.plot(x,...
    99+
    2023-06-15
  • Python利用matplotlib实现饼图绘制
    目录前言1. 等高线图概述什么是饼图?饼图常用场景绘制等饼图步骤案例展示2. 饼图属性设置饼图的颜色设置标签设置突出部分设置填入百分比数值饼图旋转设置阴影3. 调整饼图的大小4. 添...
    99+
    2024-04-02
  • Python+matplotlib实现堆叠图的绘制
    目录一、水平堆叠图二、波浪形堆叠图三、加上数据标签注:本文的所有数据请移步—— 参考数据 一、水平堆叠图 堆叠图其实就是柱状图的一种特殊形式 fro...
    99+
    2024-04-02
  • Python matplotlib实现折线图的绘制
    目录一、版本二、图表主题设置三、一次函数四、多个一次函数五、填充折线图官网: https://matplotlib.org 一、版本 # 01 matplotlib安装情况 imp...
    99+
    2024-04-02
  • Python+matplotlib如何绘制堆叠图
    这篇文章主要介绍Python+matplotlib如何绘制堆叠图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、水平堆叠图堆叠图其实就是柱状图的一种特殊形式from matplotlib imp...
    99+
    2023-06-29
  • Python Matplotlib如何绘制多子图
    这篇文章将为大家详细讲解有关Python Matplotlib如何绘制多子图,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。通过获取子图的label和线型来合并图例注意添加label#导入数据(读...
    99+
    2023-06-29
  • 如何根据自有数据拟合绘制3D曲面图-Python matplotlib
    目录 问题提出 绘制简单曲面图 使用自有数据拟合绘制 问题提出 在网上找了很久怎么用自己有的dataframe数据,拟合出3d的曲面图,大部分人都是根据已知函数去绘制,有几篇进行拟合绘制,但是还是根据特定函数生成的数据,没有一篇直接用d...
    99+
    2023-09-25
    python matplotlib 3d
  • Python如何绘制Matplotlib折线图
    本篇内容介绍了“Python如何绘制Matplotlib折线图”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、Matplotlib 绘图在...
    99+
    2023-06-30
  • Python如何绘制Matplotlib散点图
    本篇内容主要讲解“Python如何绘制Matplotlib散点图”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python如何绘制Matplotlib散点图”吧!使用plt.plot方法:在上篇...
    99+
    2023-06-30
  • Python+Matplotlib实现绘制三维折线图
    目录1.0简介2.0三维图画法与类型1、直线绘制(Line plots)2、散点绘制(Scatter plots)3、线框图(Wireframe plots)4、三角表面图(Tri-...
    99+
    2023-03-21
    Python Matplotlib绘制三维折线图 Python Matplotlib 三维折线图 Python Matplotlib
  • Python Matplotlib绘图实例分析
    这篇文章主要介绍“Python Matplotlib绘图实例分析”,在日常操作中,相信很多人在Python Matplotlib绘图实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”P...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作