mpl_toolkits.mplot3d.axes3d.Axes3D#

mpl_toolkits.mplot3d.axes3d.Axes3D(fig, rect=None, *args, elev=30, azim=-60, roll=0, shareview=None, sharez=None, proj_type='persp', focal_length=None, box_aspect=None, computed_zorder=True, **kwargs)[源]#

基类: Axes

三维坐标系对象。

注意

作为用户,您不直接实例化 `Axes`,而是使用 `Axes` 创建方法;例如,从 pyplotFigure 中调用:subplotssubplot_mosaicFigure.add_axes

参数:
figFigure 对象

父图。

rect元组 (left, bottom, width, height),默认值: None。

坐标系的 (left, bottom, width, height) 位置。

elev浮点数,默认值: 30

以度为单位的仰角,用于绕 x-y 平面上下旋转相机,正角度对应于平面上方的位置。

azim浮点数,默认值: -60

以度为单位的方位角,用于绕 z 轴旋转相机,正角度对应于右手旋转。换句话说,正方位角将相机绕原点从其沿 +x 轴的位置向 +y 轴旋转。

roll浮点数,默认值: 0

以度为单位的滚转角,用于绕观察轴旋转相机。正角度使相机顺时针旋转,导致场景逆时针旋转。

shareviewAxes3D 对象,可选

其他要共享视角角度的 Axes 对象。请注意,无法取消共享坐标轴。

sharezAxes3D 对象,可选

其他要共享 z 轴范围的 Axes 对象。请注意,无法取消共享坐标轴。

proj_type{'透视', '正交'}

投影类型,默认值为 'persp' (透视)。

focal_length浮点数,默认值: None

对于 'persp' (透视) 投影类型,表示虚拟相机的焦距。必须 > 0。如果为 None,则默认为 1。对于 'ortho' (正交) 投影类型,必须设置为 None 或无穷大 (numpy.inf)。如果为 None,则默认为无穷大。焦距可通过以下公式从所需的视场 (Field Of View) 计算得出:focal_length = 1/tan(FOV/2)

box_aspect浮点数3元组,默认值: None

更改 Axes3D 的物理尺寸,使得显示单位中轴长比为 x:y:z。如果为 None,则默认为 4:4:3

computed_zorder布尔值,默认值: True

如果为 True,则绘制顺序是根据 Artist 沿视图方向的平均位置计算的。如果您想使用 zorder 属性手动控制 Artist 之间的绘制顺序,请设置为 False。如果自动顺序未产生所需结果,这可用于微调。但请注意,手动 zorder 仅在有限的视角下正确。如果用户旋转图形,它在某些角度下会看起来不正确。

**kwargs

其他可选关键字参数

属性

描述

adjustable

{'box', 'datalim'}

agg_filter

一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组以及图像左下角的两个偏移量

alpha

浮点数或 None

anchor

(float, float) 或 {'C', 'SW', 'S', 'SE', 'E', 'NE', ...}

animated

布尔值

aspect

{'auto', 'equal', 'equalxy', 'equalxz', 'equalyz'}

autoscale_on

布尔值

autoscalex_on

未知

autoscaley_on

未知

autoscalez_on

未知

axes_locator

Callable[[Axes, Renderer], Bbox]

axisbelow

布尔值 或 'line'

box_aspect

浮点数3元组或 None

clip_box

BboxBase 对象或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

facecolorfc

color

figure

Figure 对象或 SubFigure 对象

forward_navigation_events

bool 或 "auto"

gid

字符串

in_layout

布尔值

label

对象

mouseover

布尔值

navigate

布尔值

navigate_mode

未知

path_effects

AbstractPathEffect 对象的列表

picker

None 或 布尔值 或 浮点数 或 可调用对象

position

[left, bottom, width, height] 列表或 Bbox 对象

proj_type

{'透视', '正交'}

prop_cycle

Cycler

rasterization_zorder

浮点数或 None

rasterized

布尔值

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

subplotspec

未知

title

未知

transform

变换

url

字符串

visible

布尔值

xbound

未知

xlabel

字符串

xlimxlim3d

(left: 浮点数, right: 浮点数)

xmargin

float 大于 -0.5

xscale

未知

xticklabels

未知

xticks

未知

ybound

未知

ylabel

字符串

ylimylim3d

(bottom: 浮点数, top: 浮点数)

ymargin

float 大于 -0.5

yscale

未知

yticklabels

未知

yticks

未知

zbound

未知

zlabel

未知

zlimzlim3d

(bottom: 浮点数, top: 浮点数)

zmargin

float 大于 -0.5

zorder

浮点数

zscale

未知

zticklabels

未知

zticks

未知

绘图#

plot

绘制二维或三维数据。

散点图

创建散点图。

bar

添加二维条形图。

bar3d

生成三维条形图。

plot_surface

创建曲面图。

plot_wireframe

绘制三维线框图。

plot_trisurf

绘制三角化曲面。

fill_between

填充两条三维曲线之间的区域。

clabel

目前尚未为三维 Axes 实现,并返回 None

contour

创建三维等高线图。

tricontour

创建三维等高线图。

contourf

创建一个3D填充等高线图。

tricontourf

创建一个3D填充等高线图。

quiver

绘制三维箭场图。

voxels

绘制一组填充的体素

errorbar

绘制带有误差线的线和/或标记。

stem

创建一个 3D 茎叶图。

文本和标注#

text

在数据坐标中,将文本 s 添加到 3D 坐标轴的 xyz 位置。

text2D

向坐标系中添加文本。

清空#

clear

清除 Axes。

外观#

set_axis_off

隐藏 X 轴和 Y 轴的所有视觉组件。

set_axis_on

不隐藏 x 轴和 y 轴的所有可视化组件。

grid

设置/取消设置三维网格。

坐标轴#

坐标轴范围和方向#

get_zaxis

返回 ZAxis (Axis) 实例。

get_xlim

返回 x 轴视图限制。

set_xlim

设置三维 x 轴视图范围。

get_ylim

返回 y 轴视图限制。

set_ylim

设置三维 y 轴视图范围。

get_zlim

返回三维 z 轴视图范围。

set_zlim

设置三维 z 轴视图范围。

get_w_lims

获取三维世界范围。

invert_xaxis

反转 x 轴。

xaxis_inverted

返回 x 轴是否朝向“反向”。

invert_yaxis

反转 y 轴。

yaxis_inverted

返回 y 轴是否沿“反向”方向定位。

invert_zaxis

反转 z 轴。

zaxis_inverted

返回 z 轴是否沿“反向”方向。

get_xbound

返回 x 轴的下限和上限数值范围,按升序排列。

set_xbound

设置 x 轴的下限和上限数值范围。

get_ybound

返回 y 轴的下限和上限数值范围,按升序排列。

set_ybound

设置 y 轴的上下数值边界。

get_zbound

按递增顺序返回 z 轴的下限和上限。

set_zbound

设置 z 轴的数值下限和上限。

坐标轴标签和标题#

set_zlabel

设置 z 轴标签。

get_zlabel

获取 z 轴标签文本字符串。

set_title

为 Axes 设置标题。

坐标轴刻度#

set_xscale

设置 x 轴刻度。

set_yscale

设置 y 轴刻度。

set_zscale

设置 z 轴刻度。

get_zscale

返回 z 轴的刻度 (作为字符串)。

自动缩放和边距#

get_zmargin

获取 z 轴的自动缩放边距。

set_zmargin

在自动缩放之前设置 Z 数据范围的填充。

margins

设置或获取自动缩放边距。

autoscale

用于简单坐标轴视图自动缩放的便捷方法。

autoscale_view

使用数据限制自动缩放视图限制。

set_autoscalez_on

设置 z 轴在绘制时是否自动缩放,或由 Axes.autoscale_view 自动缩放。

get_autoscalez_on

返回 z 轴是否自动缩放。

auto_scale_xyz

宽高比#

set_aspect

设置宽高比。

set_box_aspect

设置 Axes 框的宽高比。

apply_aspect

根据指定的数据纵横比调整 Axes。

刻度#

tick_params

用于改变刻度和刻度标签外观的便捷方法。

set_zticks

设置 z 轴的刻度位置,并可选地设置刻度标签。

get_zticks

返回 z 轴在数据坐标中的刻度位置。

set_zticklabels

[不推荐] 使用字符串标签列表设置 z 轴的刻度标签。

get_zticklines

将 z 轴的刻度线作为 Line2D 列表返回。

get_zgridlines

将 z 轴的网格线作为 Line2D 列表返回。

get_zminorticklabels

将 z 轴的次要刻度标签作为 Text 列表返回。

get_zmajorticklabels

将 z 轴的主要刻度标签作为 Text 列表返回。

zaxis_date

设置坐标轴刻度和标签,将 z 轴上的数据视为日期。

单位#

convert_zunits

对于 Axes 中的 Artist,如果 z 轴支持单位,则使用 z 轴单位类型转换 z

添加 Artist#

add_collection3d

向图中添加一个三维集合对象。

共享#

sharez

other 共享 z 轴。

shareview

other 共享视角。

交互式#

can_zoom

返回此 Axes 是否支持缩放框按钮功能。

can_pan

返回此 Axes 是否支持任何平移/缩放按钮功能。

disable_mouse_rotation

禁用鼠标按钮以进行三维旋转、平移和缩放。

mouse_init

设置鼠标按钮以进行三维旋转和缩放。

drag_pan

在平移操作期间鼠标移动时调用。

format_zdata

返回格式化后的 z 字符串。

format_coord

返回一个字符串,给出当前视图的旋转角度,或者鼠标光标下方最近坐标轴平面上的点的 x、y、z 坐标,具体取决于按下的鼠标按钮。

投影与透视#

view_init

以度(而非弧度)为单位设置 Axes 的仰角和方位角。

set_proj_type

设置投影类型。

get_proj

从当前视图位置创建投影矩阵。

set_top_view

绘图#

draw

使用给定的渲染器绘制 Artist(及其子对象)。

get_tightbbox

返回 Axes 的紧密边界框,包括轴及其装饰器(xlabel、标题等)。

别名和已弃用方法#

set_zlim3d

set_zlim 的别名。

stem3D

创建一个 3D 茎叶图。

text3D

在数据坐标中,将文本 s 添加到 3D 坐标轴的 xyz 位置。

其他#

三维数据示例#

axes3d.get_test_data

返回包含测试数据集的元组 X, Y, Z。

使用 mpl_toolkits.mplot3d.axes3d.Axes3D 的示例#

动画三维随机游走

动画三维随机游走

在三维图上绘制二维数据

在三维图上绘制二维数据

三维条形图演示

三维条形图演示

将数据裁剪到坐标轴视图限制

将数据裁剪到坐标轴视图限制

在不同平面创建二维条形图

在不同平面创建二维条形图

三维箱体表面图

三维箱体表面图

在三维空间中绘制等高线(级别)曲线

在三维空间中绘制等高线(级别)曲线

使用 extend3d 选项在三维空间中绘制等高线(级别)曲线

使用 extend3d 选项在三维空间中绘制等高线(级别)曲线

将等高线轮廓投影到图上

将等高线轮廓投影到图上

填充等高线

填充等高线

将填充等高线投影到图上

将填充等高线投影到图上

三维曲面图中的自定义山体阴影

三维曲面图中的自定义山体阴影

三维误差条

三维误差条

填充三维线之间

填充三维线之间

填充三维折线图下方

填充三维折线图下方

创建二维数据的三维直方图

创建二维数据的三维直方图

三维中的二维图像

三维中的二维图像

参数曲线

参数曲线

洛伦兹吸引子

洛伦兹吸引子

同一图形中的二维和三维坐标轴

同一图形中的二维和三维坐标轴

文本自动偏移

文本自动偏移

在三维图中绘制平面对象

在三维图中绘制平面对象

生成三维多边形

生成三维多边形

三维图投影类型

三维图投影类型

三维颤动图

三维颤动图

三维散点图

三维散点图

三维茎叶图

三维茎叶图

作为子图的三维图

作为子图的三维图

三维曲面(色彩映射)

三维曲面(色彩映射)

三维曲面(纯色)

三维曲面(纯色)

三维曲面(棋盘格)

三维曲面(棋盘格)

极坐标三维曲面

极坐标三维曲面

三维文本注释

三维文本注释

三角三维等高线图

三角三维等高线图

三角三维填充等高线图

三角三维填充等高线图

三角三维曲面

三角三维曲面

更多三角三维曲面

更多三角三维曲面

三维体素/体积图

三维体素/体积图

NumPy 标志的三维体素图

NumPy 标志的三维体素图

带 RGB 颜色的三维体素/体积图

带 RGB 颜色的三维体素/体积图

带柱坐标的三维体素/体积图

带柱坐标的三维体素/体积图

三维线框图

三维线框图

单方向三维线框图

单方向三维线框图

bar3d(x, y, z, dx, dy, dz)

bar3d(x, y, z, dx, dy, dz)

fill_between(x1, y1, z1, x2, y2, z2)

fill_between(x1, y1, z1, x2, y2, z2)

plot(xs, ys, zs)

plot(xs, ys, zs)

quiver(X, Y, Z, U, V, W)

quiver(X, Y, Z, U, V, W)

scatter(xs, ys, zs)

scatter(xs, ys, zs)

stem(x, y, z)

stem(x, y, z)

plot_surface(X, Y, Z)

plot_surface(X, Y, Z)

plot_trisurf(x, y, z)

plot_trisurf(x, y, z)

voxels([x, y, z], filled)

voxels([x, y, z], filled)

plot_wireframe(X, Y, Z)

plot_wireframe(X, Y, Z)