mplot3d工具包

使用mplot3d工具包生成三维绘图。

入门

3D轴(类 Axes3D )通过传递 projection="3d" 关键字参数 Figure.add_subplot ::

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

在 1.0.0 版更改: 在Matplotlib 1.0.0之前, Axes3D 需要直接用 from mpl_toolkits.mplot3d import Axes3D; ax = Axes3D(fig) .

在 3.2.0 版更改: 在Matplotlib 3.2.0之前,需要显式地导入 mpl_toolkits.mplot3d 要对其进行“3d”投影的模块 Figure.add_subplot .

MPLOT3D FAQ 有关mplot3d工具包的更多信息。

线图

Axes3D.plot(xs, ys, *args, zdir='z', **kwargs)[源代码]

绘制二维或三维数据。

参数:
xs一维阵列状

顶点的x坐标。

ys一维阵列状

顶点的y坐标。

zs浮点数或一维数组

顶点的z坐标;一个用于所有点或一个用于每个点。

zdir{x',y',z},默认值:“z”

打印二维数据时,使用的方向为z('x'、'y'或'z')。

**kwargs

其他参数转发到 matplotlib.axes.Axes.plot .

../../_images/sphx_glr_lines3d_0011.png

线三维

散点图

Axes3D.scatter(xs, ys, zs=0, zdir='z', s=20, c=None, depthshade=True, *args, **kwargs)[源代码]

创建散点图。

参数:
XS,YS类数组

数据位置。

zs浮点或类似数组的,默认值:0

Z位置。数组的长度与 xsys 或单个值将所有点放置在同一平面中。

zdir{'x','y','z','x','y','z'},默认值:'z'

的轴方向 zs . 在三维轴上绘制二维数据时,这很有用。数据必须作为 xsys . 设置 zdir 到“y”,然后将数据绘制到x-z平面。

也见 在三维图上绘制二维数据 .

s浮点或类似数组,默认值:20

以点为单位的标记大小 **2. Either an array of the same length as * XS 或单个值,使所有标记的大小相同。

c颜色、顺序或颜色序列,可选

标记颜色。可能值:

  • 单一颜色格式字符串。
  • 长度为n的一系列颜色。
  • 要映射到颜色的n个数字序列,使用 cmapnorm .
  • 一种二维数组,其中的行是rgb或rgb a。

有关更多详细信息,请参阅 c 的参数 scatter .

depthshadebool,默认值:True

是否对散布标记进行着色以显示深度的外观。每次呼叫 scatter() 将独立执行其深度着色。

**kwargs

所有其他参数都传递给 scatter .

返回:
路径PathCollectionPathCollection
../../_images/sphx_glr_scatter3d_0011.png

散射三维

线框图

Axes3D.plot_wireframe(X, Y, Z, *args, **kwargs)[源代码]

绘制三维线框。

注解

这个 计数计数 Kwargs(默认值均为50)确定每个方向上使用的最大样本数。如果输入数据更大,它将被(通过切片)降到这些点数。

参数:
x,y,z二维数组

数据值。

计数利息

每个方向上使用的最大样本数。如果输入数据更大,它将被(通过切片)降到这些点数。将计数设置为零将导致数据不在相应方向上采样,从而生成三维线图而不是线框图。默认值为50。

2.0 新版功能.

CStride,CStride公司利息

在每个方向上降低采样幅度。这些论点与 计数计数 . 如果只有一个 拉斯特里卡斯特里 设置,其他默认值为1。将步幅设置为零会导致数据不按相应方向采样,从而生成三维线图而不是线框图。

“经典”模式使用默认值 rstride = cstride = 1 而不是新的默认 rcount = ccount = 50 .

**kwargs

其他参数转发到 Line3DCollection .

../../_images/sphx_glr_wire3d_0011.png

线三维

曲面图

Axes3D.plot_surface(X, Y, Z, *args, norm=None, vmin=None, vmax=None, lightsource=None, **kwargs)[源代码]

创建曲面图。

默认情况下,它将以纯色的阴影着色,但它也支持通过提供 cmap 参数。

注解

这个 计数计数 Kwargs(默认值均为50)确定每个方向上使用的最大样本数。如果输入数据更大,它将被(通过切片)降到这些点数。

注解

要最大化渲染速度,请考虑设置 拉斯特里卡斯特里 行数减1和列数减1的除数。例如,给定51行,rstride可以是50的任何除数。

类似地,设置 拉斯特里卡斯特里 等于1(或 计数计数 等于行数和列数)可以使用优化的路径。

参数:
x,y,z二维数组

数据值。

计数利息

每个方向上使用的最大样本数。如果输入数据更大,它将被(通过切片)降到这些点数。默认值为50。

2.0 新版功能.

CStride,CStride公司利息

在每个方向上降低采样幅度。这些论点与 计数计数 . 如果只有一个 拉斯特里卡斯特里 设置,其他默认值为10。

“经典”模式使用默认值 rstride = cstride = 10 而不是新的默认 rcount = ccount = 50 .

color颜色像

表面补片的颜色。

cmap色图

表面补丁的颜色图。

facecolors像数组一样的颜色。

每个补丁的颜色。

norm归一化

颜色映射的规范化。

VMN,Vmax浮动

标准化的界限。

shadebool,默认值:True

是否给脸着色。当 cmap 指定。

光源LightSourceLightSource

使用的光源 阴影 是True。

**kwargs

其他参数转发到 Poly3DCollection .

../../_images/sphx_glr_surface3d_0012.png

表面三维

表面三维2

表面三维3

三面图

Axes3D.plot_trisurf(*args, color=None, norm=None, vmin=None, vmax=None, lightsource=None, **kwargs)[源代码]

绘制三角形曲面。

(可选)三角测量可以用以下两种方法之一指定:

plot_trisurf(triangulation, ...)

三角测量是 Triangulation 对象,或::

plot_trisurf(X, Y, ...)
plot_trisurf(X, Y, triangles, ...)
plot_trisurf(X, Y, triangles=triangles, ...)

在这种情况下,将创建一个三角测量对象。见 Triangulation 为了解释这些可能性。

其余参数为:

plot_trisurf(..., Z)

在哪里? Z 是要轮廓的值数组,在三角测量中每个点一个。

参数:
x,y,z类数组

数据值作为1D数组。

color

表面补片的颜色。

cmap

表面补丁的颜色图。

norm归一化

将值映射到颜色的Normalize实例。

VMN,Vmax浮点,默认值:无

要映射的最小值和最大值。

shadebool,默认值:True

是否给脸着色。当 cmap 指定。

光源LightSourceLightSource

使用的光源 阴影 是True。

**kwargs

所有其他参数都传递给 Poly3DCollection

实例

(Source code _, pngpdf

../../_images/trisurf3d2.png

(Source code _, pngpdf

../../_images/trisurf3d_22.png

1.2.0 新版功能.

../../_images/sphx_glr_trisurf3d_0011.png

TrISURF3D

等高线图

Axes3D.contour(X, Y, Z, *args, extend3d=False, stride=5, zdir='z', offset=None, **kwargs)[源代码]

创建三维轮廓图。

参数:
x,y,z类数组

输入数据。

extend3dbool,默认值:False

是否在三维中延伸轮廓。

stride利息

延伸轮廓的步长。

zdir{x',y',z},默认值:“z”

使用说明。

offset可选浮动

如果指定,在垂直于zdir的平面上绘制此位置等高线的投影。

*args, ** 夸克

其他参数转发到 matplotlib.axes.Axes.contour .

返回:
matplotlib.contour.QuadContourSet
../../_images/sphx_glr_contour3d_0011.png

轮廓三维

CONTUR3D 2

CONTUR3D 3

填充轮廓图

Axes3D.contourf(X, Y, Z, *args, zdir='z', offset=None, **kwargs)[源代码]

创建三维填充等高线图。

参数:
x,y,z类数组

输入数据。

zdir{x',y',z},默认值:“z”

使用说明。

offset可选浮动

如果指定,在垂直于zdir的平面上绘制此位置等高线的投影。

*args, ** 夸克

其他参数转发到 matplotlib.axes.Axes.contourf .

返回:
matplotlib.contour.QuadContourSet

笔记

1.1.0 新版功能: 这个 zdir抵消 参数。

../../_images/sphx_glr_contourf3d_0011.png

CONTURF3D

CONTURF3D 2

1.1.0 新版功能: 第二个Contourf3d示例中演示的功能由于1.1.0版的错误修复而启用。

多边形图

Axes3D.add_collection3d(col, zs=0, zdir='z')[源代码]

将三维集合对象添加到绘图中。

通过修改对象并添加Z坐标信息,二维集合类型将转换为三维版本。

支持如下:
  • PolyCollection
  • LineCollection
  • PatchCollection
../../_images/sphx_glr_polys3d_0011.png

聚硅氧烷

条形图

Axes3D.bar(left, height, zs=0, zdir='z', *args, **kwargs)[源代码]

添加2D条(S)。

参数:
left一维阵列状

条左侧的X坐标。

height一维阵列状

栏杆的高度。

zs浮点数或一维数组

钢筋的Z坐标;如果指定单个值,则将对所有钢筋使用该值。

zdir{x',y',z},默认值:“z”

打印二维数据时,使用的方向为z('x'、'y'或'z')。

**kwargs

其他参数转发到 matplotlib.axes.Axes.bar .

返回:
mpl_toolkits.mplot3d.art3d.Patch3DCollection
../../_images/sphx_glr_bars3d_0011.png

BARS3D

颤抖

Axes3D.quiver(X, Y, Z, U, V, W, /, length=1, arrow_length_ratio=.3, pivot='tail', normalize=False, **kwargs)[源代码]

绘制箭头的三维区域。

参数可以是数组或标量,只要它们可以一起广播。参数也可以是屏蔽数组。如果任何参数中的元素被屏蔽,则不会绘制相应的quiver元素。

参数:
x,y,z类数组

箭头位置的X、Y和Z坐标(默认为箭头的尾部;请参见 枢轴 夸克)。

U、 V、W类数组

箭头向量的x、y和z分量。

length浮点,默认值:1

每个箭袋的长度。

arrow_length_ratio浮点,默认值:0.3

箭头与箭袋的比率。

pivot{'tail','middle','tip'},默认值:'tail'

位于网格点的箭头部分;箭头围绕该点旋转,因此命名为 枢轴 .

normalizebool,默认值:False

是否将所有箭头规格化为具有相同的长度,或保留由定义的长度 uvw .

**kwargs

任何其他关键字参数都委托给 LineCollection

../../_images/sphx_glr_quiver3d_0011.png

奎维3D

三维2D图

../../_images/sphx_glr_2dcollections3d_0011.png

2D采集

文本

Axes3D.text(x, y, z, s, zdir=None, **kwargs)[源代码]

向绘图中添加文本。Kwargs将传递到axes.text,除了 zdir 关键字,设置用作z方向的方向。

../../_images/sphx_glr_text3d_0011.png

文本三维

分绘

在一个图形中有多个三维图形与在二维图形中相同。此外,您可以在同一个图形中同时使用二维和三维绘图。

1.0.0 新版功能: 在v1.0.0中添加了子绘图3D绘图。早期版本不能这样做。

../../_images/sphx_glr_subplot3d_0011.png

亚三维

混合子情节

关键词:matplotlib代码示例,codex,python plot,pyplot Gallery generated by Sphinx-Gallery