当前位置: 首页 > 编程笔记 >

matplotlib 三维图表绘制方法简介

呼延哲
2023-03-14
本文向大家介绍matplotlib 三维图表绘制方法简介,包括了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 matplotlib绘制三维图的示例,包括了python matplotlib绘制三维图的示例的使用技巧和注意事项,需要的朋友参考一下 作者:catmelo 本文版权归作者所有 链接:https://www.cnblogs.com/catmelo/p/4162101.html 本文参考官方文档:http://matplotlib.org/mpl_toolkits/mpl

  • 我有一个三维阵列。列的标题是“身高”、“体重”和“年龄”。如何使用或任何其他可用功能绘制三维直方图? 我从这段代码开始,但后来我陷入了如何绘制三维直方图的困境。谢谢你宝贵的时间

  • 本文向大家介绍Python三维绘图之Matplotlib库的使用方法,包括了Python三维绘图之Matplotlib库的使用方法的使用技巧和注意事项,需要的朋友参考一下 前言 在遇到三维数据时,三维图像能给我们对数据带来更加深入地理解。python的matplotlib库就包含了丰富的三维绘图工具。 1.创建三维坐标轴对象Axes3D 创建Axes3D主要有两种方式,一种是利用关键字projec

  • 问题内容: 我想以这样的方式绘制每一步的脉冲传播,它绘制 脉冲形状。换句话说,我想要一系列的x-z图,对于 y、 像这样的东西(没有颜色):![脉搏 传播 如何使用matplotlib(或Mayavi)实现这一点?以下是我迄今为止所做的: 问题答案: Change to: and call: If you need the curve been filled with white color:

  • numpy.histogram()函数将输入数组和作为两个参数。 bin数组中的连续元素用作每个bin的边界。 Matplotlib 可以将直方图的数字表示转换为图形。 pyplot子模块的plt()函数将包含数据和数组的数组作为参数,并转换为直方图。

  • 安装方法 pip install matplotlib 绘制一元函数图像y=ax+b 创建single_variable.py,内容如下: # coding:utf-8 import sys reload(sys) sys.setdefaultencoding( "utf-8" ) import matplotlib.pyplot as plt import numpy as np plt.f