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 创建方法;例如,从 pyplotFiguresubplotssubplot_mosaicFigure.add_axes

参数:

父图。

rect元组 (左, 底, 宽度, 高度),默认: None。

(left, bottom, width, height) 轴位置。

elev浮点数,默认值:30

以度为单位的仰角会旋转相机在 x-y 平面之上和之下,正角度对应于平面之上的位置。

azimfloat, 默认值: -60

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

滚动float, 默认值: 0

以度为单位的滚动角度围绕视图轴旋转相机。正角度使相机顺时针旋转,导致场景逆时针旋转。

shareviewAxes3D,可选

与其他轴共享视图角度。请注意,无法取消共享轴。

sharezAxes3D,可选

其他要共享 z 限制的轴。请注意,无法取消共享轴。

proj_type{'persp', 'ortho'}

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

焦距浮点数,默认值:None

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

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

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

computed_zorderbool, 默认: True

如果为 True,绘制顺序将基于沿视图方向的 Artist 的平均位置计算。如果希望使用其 zorder 属性手动控制 Artists 的绘制顺序,请设置为 False。如果自动顺序不能产生所需的结果,可以使用此方法进行微调。但请注意,手动 zorder 仅在有限的视角下是正确的。如果用户旋转了图形,从某些角度看可能会显得不正确。

**kwargs

其他可选的关键字参数:

属性

描述

可调整

{'box', 'datalim'}

agg_filter

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

alpha

标量或无

锚点

(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

补丁或(路径,变换)或无

facecolor 或 fc

color

figure

FigureSubFigure

forward_navigation_events

布尔值或“自动”

gid

str

in_layout

布尔

标签

对象

鼠标悬停

布尔

导航

布尔

navigate_mode

未知

路径效果

AbstractPathEffect 的列表

picker

None 或 bool 或 float 或 callable

position

[左, 底, 宽, 高] 或 Bbox

proj_type

{'persp', 'ortho'}

prop_cycle

Cycler

rasterization_zorder

浮点数或无

光栅化

布尔

sketch_params

(scale: float, length: float, randomness: float)

snap

布尔值或无

subplotspec

未知

标题

未知

transform

Transform

url

str

可见

布尔

xbound

未知

xlabel

str

xlim 或 xlim3d

(左: 浮点数, 右: 浮点数)

xmargin

浮点数大于 -0.5

xscale

未知

xticklabels

未知

xticks

未知

ybound

未知

ylabel

str

ylim 或 ylim3d

(底部: 浮点数, 顶部: 浮点数)

ymargin

浮点数大于 -0.5

yscale

未知

yticklabels

未知

yticks

未知

zbound

未知

zlabel

未知

zlim 或 zlim3d

(底部: 浮点数, 顶部: 浮点数)

zmargin

浮点数大于 -0.5

zorder

浮动

zscale

未知

zticklabels

未知

zticks

未知

绘图#

plot

绘制二维或三维数据。

scatter

创建一个散点图。

bar

添加2D条形图。

bar3d

生成一个三维柱状图。

plot_surface

创建一个表面图。

plot_wireframe

绘制一个3D线框图。

plot_trisurf

绘制一个三角剖分表面。

fill_between

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

clabel

当前未对 3D 轴实现,并返回 None

contour

创建一个3D等高线图。

tricontour

创建一个3D等高线图。

contourf

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

tricontourf

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

quiver

绘制一个三维箭头场。

voxels

绘制一组填充的体素

errorbar

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

stem

创建一个3D茎图。

文本和注释#

text

在数据坐标中的位置 x, y, z 处向 3D Axes 添加文本 s

text2D

向 Axes 添加文本。

清除#

clear

清除坐标轴。

外观#

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世界边界。

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

设置 zlabel。

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

设置坐标轴的框比例。

apply_aspect

调整坐标轴以适应指定的数据纵横比。

Ticks#

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中的艺术家,如果z轴支持单位,使用z轴单位类型转换*z*。

添加艺术家#

add_collection3d

将一个3D集合对象添加到绘图中。

共享#

sharez

其他 共享 z 轴。

shareview

他人 分享视角。

交互式#

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

使用给定的渲染器绘制艺术家(及其子项)。

get_tightbbox

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

别名和已弃用的方法#

set_zlim3d

set_zlim 的别名。

stem3D

创建一个3D茎图。

text3D

在数据坐标中的位置 x, y, z 处向 3D Axes 添加文本 s

其他#

示例3D数据#

axes3d.get_test_data

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

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

动画 3D 随机游走

Animated 3D random walk

在3D图上绘制2D数据

Plot 2D data on 3D plot

3D 柱状图演示

Demo of 3D bar charts

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

Create 2D bar graphs in different planes

3D 盒子表面图

3D box surface plot

在3D中绘制等高线(水平)曲线

Plot contour (level) curves in 3D

使用 extend3d 选项在 3D 中绘制等高线(等值线)曲线

Plot contour (level) curves in 3D using the extend3d option

将项目轮廓剖面投影到图表上

Project contour profiles onto a graph

填充等高线

Filled contours

将项目填充等高线到图表上

Project filled contour onto a graph

3D 表面图中的自定义山体阴影

Custom hillshading in a 3D surface plot

3D 误差条

3D errorbars

填充3D线条之间

Fill between 3D lines

填充在3D折线图下

Fill under 3D line graphs

创建二维数据的3D直方图

Create 3D histogram of 2D data

3D 中的 2D 图像

2D images in 3D

参数曲线

Parametric curve

洛伦兹吸引子

Lorenz attractor

同一图中的2D和3D轴

2D and 3D Axes in same figure

自动文本偏移

Automatic text offsetting

在3D图中绘制平面物体

Draw flat objects in 3D plot

生成3D多边形

Generate 3D polygons

3D 绘图投影类型

3D plot projection types

3D 箭袋图

3D quiver plot

3D 散点图

3D scatterplot

3D 茎

3D stem

3D 子图作为子图

3D plots as subplots

3D 表面(色图)

3D surface (colormap)

3D 表面(纯色)

3D surface (solid color)

3D 表面(棋盘格)

3D surface (checkerboard)

极坐标系下的3D曲面

3D surface with polar coordinates

3D 文本注释

Text annotations in 3D

三角形 3D 等高线图

Triangular 3D contour plot

三角形 3D 填充等高线图

Triangular 3D filled contour plot

三角形 3D 表面

Triangular 3D surfaces

更多三角形3D表面

More triangular 3D surfaces

3D 体素 / 体积图

3D voxel / volumetric plot

NumPy 标志的 3D 体素图

3D voxel plot of the NumPy logo

带有RGB颜色的3D体素/体积图

3D voxel / volumetric plot with RGB colors

3D 体素 / 体积图与圆柱坐标

3D voxel / volumetric plot with cylindrical coordinates

3D 线框图

3D wireframe plot

3D 线框图在一个方向上

3D wireframe plots in one direction

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)