mpl_toolkits.mplot3d.axes3d.Axes3D#

class 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

3D 坐标轴(Axes)对象。

注意

作为用户,您不应直接实例化 Axes,而应使用 Axes 创建方法;例如通过 pyplotFiguresubplotssubplot_mosaicFigure.add_axes

注意

Axes 的某些继承行为不适用于 3D,使用时会引发 UnsupportedError

参数:
figFigure

父图。

rect元组 (left, bottom, width, height),默认值:(0, 0, 1, 1)

Axes 的位置 (left, bottom, width, height)

elevfloat,默认值:30

以度为单位的仰角,用于在 x-y 平面上方或下方旋转相机,正角度表示位于平面上方的位置。

azimfloat,默认值:-60

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

rollfloat,默认值:0

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

shareviewAxes3D,可选

用于共享视角数据的其他 Axes。请注意,无法取消共享轴。

sharezAxes3D,可选

用于共享 z 轴范围的其他 Axes。请注意,无法取消共享轴。

proj_type{'persp', 'ortho'}

投影类型,默认值为 'persp'。

focal_lengthfloat,默认值:None

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

box_aspect3 个浮点数的元组,默认值:None

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

computed_zorderbool,默认值:True

如果为 True,则针对支持的绘图元素类型(目前仅限 Collections 和 Patches)根据视图方向上的平均位置计算绘制顺序。如果您希望使用 zorder 属性手动控制 Artist 绘制在彼此之上的顺序,请将其设置为 False。如果自动排序没有产生预期结果,这可用于微调。但请注意,手动排序仅在有限的视角下是正确的。如果用户旋转图形,则从某些角度看会显得不正确。

**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

未知

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

FigureSubFigure

forward_navigation_events

bool 或 "auto"

gid

str

in_layout

布尔值

label

object

mouseover

布尔值

navigate

布尔值

navigate_mode

未知

path_effects

AbstractPathEffect 列表

picker

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

position

[left, bottom, width, height] 或 Bbox

proj_type

{'persp', 'ortho'}

prop_cycle

Cycler

rasterization_zorder

浮点数或 None

rasterized

布尔值

sketch_params

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

snap

布尔值或 None

subplotspec

未知

title

未知

transform

变换

url

str

visible

布尔值

xbound

未知

xinverted

未知

xlabel

str

xlimxlim3d

(left: float, right: float)

xmargin

float 大于 -0.5

xscale

{"linear", "log", "symlog", "logit", ...}

xticklabels

未知

xticks

未知

ybound

未知

yinverted

未知

ylabel

str

ylimylim3d

(bottom: float, top: float)

ymargin

float 大于 -0.5

yscale

{"linear", "log", "symlog", "logit", ...}

yticklabels

未知

yticks

未知

zbound

未知

zinverted

未知

zlabel

未知

zlimzlim3d

(bottom: float, top: float)

zmargin

float 大于 -0.5

zorder

浮点数

zscale

{"linear", "log", "symlog", "logit", ...}

zticklabels

未知

zticks

未知

绘图#

plot

绘制 2D 或 3D 数据。

散点图

创建散点图。

bar

添加 2D 柱状图。

bar3d

生成 3D 柱状图。

plot_surface

创建曲面图。

plot_wireframe

绘制 3D 线框图。

plot_trisurf

绘制三角剖分曲面。

fill_between

填充两个 3D 曲线之间的区域。

clabel

目前未在 3D Axes 中实现,返回 None

contour

创建三维等高线图。

tricontour

创建三维等高线图。

contourf

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

tricontourf

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

quiver

绘制 3D 向量场。

voxels

绘制一组体素填充。

errorbar

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

stem

创建一个 3D 茎叶图。

文本和标注#

text

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

text2D

向坐标系中添加文本。

清除#

clear

清除 Axes。

外观#

set_axis_off

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

set_axis_on

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

grid

设置/取消 3D 网格。

坐标轴#

坐标轴范围和方向#

get_zaxis

返回 ZAxis (Axis) 实例。

get_xlim

返回 x 轴视图限制。

set_xlim

设置 3D x 轴视图范围。

get_ylim

返回 y 轴视图限制。

set_ylim

设置 3D y 轴视图范围。

get_zlim

返回 3D z 轴视图范围。

set_zlim

设置 3D z 轴视图范围。

get_w_lims

获取 3D 世界坐标范围。

get_xinverted

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

set_xinverted

设置 x 轴是否按“反向”方向排列。

invert_xaxis

[不推荐] 反转 x 轴。

xaxis_inverted

[不推荐] 返回 x 轴是否按“反向”方向排列。

get_yinverted

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

set_yinverted

设置 y 轴是否按“反向”方向排列。

invert_yaxis

[不推荐] 反转 y 轴。

yaxis_inverted

[不推荐] 返回 y 轴是否按“反向”方向排列。

get_zinverted

返回 z 轴是否按“反向”方向排列。

set_zinverted

设置 z 轴是否按“反向”方向排列。

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

设置绘制时或通过 Axes.autoscale_view 是否自动缩放 z 轴。

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

Line2D 列表形式返回 z 轴的刻度线。

get_zgridlines

Line2D 列表形式返回 z 轴的网格线。

get_zminorticklabels

Text 列表形式返回 z 轴的次要刻度标签。

get_zmajorticklabels

Text 列表形式返回 z 轴的主要刻度标签。

zaxis_date

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

单位#

convert_zunits

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

添加艺术家 (Artists)#

add_collection3d

向图中添加一个 3D 集合对象。

共享#

sharez

other 共享 z 轴。

shareview

other 共享视图角度。

交互式#

can_zoom

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

can_pan

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

disable_mouse_rotation

禁用鼠标按钮进行 3D 旋转、平移和缩放。

mouse_init

设置用于 3D 旋转和缩放的鼠标按钮。

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 位置。

其他#

3D 示例数据#

axes3d.get_test_data

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

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

在三维图上绘制二维数据

在三维图上绘制二维数据

三维条形图演示

三维条形图演示

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

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

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

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

三维箱体表面图

三维箱体表面图

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

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

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

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

将等高线轮廓投影到图上

将等高线轮廓投影到图上

填充等高线

填充等高线

将填充等高线投影到图上

将填充等高线投影到图上

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

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

三维误差条

三维误差条

填充三维线之间

填充三维线之间

填充三维折线图下方

填充三维折线图下方

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

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

三维中的二维图像

三维中的二维图像

参数曲线

参数曲线

洛伦兹吸引子

洛伦兹吸引子

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

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

文本自动偏移

文本自动偏移

在三维图中绘制平面对象

在三维图中绘制平面对象

生成三维多边形

生成三维多边形

三维图投影类型

三维图投影类型

三维颤动图

三维颤动图

3D 绘图的缩放(对数、对称对数等)

3D 绘图的缩放(对数、对称对数等)

三维散点图

三维散点图

三维茎叶图

三维茎叶图

作为子图的三维图

作为子图的三维图

三维曲面(色彩映射)

三维曲面(色彩映射)

三维曲面(纯色)

三维曲面(纯色)

三维曲面(棋盘格)

三维曲面(棋盘格)

极坐标三维曲面

极坐标三维曲面

三维文本注释

三维文本注释

三角三维等高线图

三角三维等高线图

三角三维填充等高线图

三角三维填充等高线图

三角三维曲面

三角三维曲面

更多三角三维曲面

更多三角三维曲面

三维体素/体积图

三维体素/体积图

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)