matplotlib.projections.polar#

class matplotlib.projections.polar.InvertedPolarTransform(axis=None, use_rmin=True, *, apply_theta_transforms=True)[源代码]#

基类:Transform

极坐标变换的逆运算,将笛卡尔坐标空间 xy 映射回 thetar

参数:
axisAxis, 可选

与此变换关联的坐标轴。用于获取最小径向限制。

use_rminbool, 可选

如果为 True,则在从笛卡尔坐标变换后添加最小径向轴限制。必须同时指定 axis 才能使其生效。

has_inverse = True#

如果此变换具有相应的逆变换,则为 True。

input_dims = 2#

此变换的输入维度数量。必须在子类中重写(使用整数)。

inverted()[源代码]#

返回相应的逆变换。

它满足 x == self.inverted().transform(self.transform(x))

此方法的返回值应被视为临时值。对 self 的更新不会导致其逆副本的相应更新。

output_dims = 2#

此变换的输出维度数量。必须在子类中重写(使用整数)。

transform_non_affine(values)[源代码]#

仅应用此变换的非仿射部分。

transform(values) 始终等价于 transform_affine(transform_non_affine(values))

在非仿射变换中,这通常等价于 transform(values)。在仿射变换中,这始终是一个空操作。

参数:
values数组

输入值为长度为 input_dims 的数组或形状为 (N, input_dims) 的数组。

返回:
array

输出值为长度为 output_dims 的数组或形状为 (N, output_dims) 的数组,具体取决于输入。

class matplotlib.projections.polar.PolarAffine(scale_transform, limits)[源代码]#

基类:Affine2DBase

极坐标投影的仿射部分。

缩放输出,使得最大半径位于 Axes 圆的边缘,且原点映射到 (0.5, 0.5)。应用于 x 和 y 分量的变换是相同的,由以下公式给出

\[x_{1} = 0.5 \left [ \frac{x_{0}}{(r_{\max} - r_{\min})} + 1 \right ]\]

\(r_{\min}, r_{\max}\) 是最小和最大径向限制,在任何缩放(例如对数缩放)被移除之后。

参数:
scale_transformTransform

数据的缩放变换。用于移除径向视图限制中的任何缩放。

limitsBboxBase

数据的视图限制。其边界中唯一使用的部分是 y 限制(用于半径限制)。

get_matrix()[源代码]#

获取此变换的仿射部分的矩阵。

class matplotlib.projections.polar.PolarAxes(*args, theta_offset=0, theta_direction=1, rlabel_position=22.5, **kwargs)[源代码]#

基类:Axes

一种极坐标图投影,其中输入维度为 thetar

Theta 从东方开始并逆时针旋转。

在图中构建一个 Axes。

参数:
figFigure

此 Axes 构建于 Figure fig 中。

*args

*args 可以是单个 (left, bottom, width, height) 矩形或单个 Bbox。这指定了 Axes 在图(以图坐标为单位)中的位置矩形。

*args 也可以由三个数字或一个三位数组成;在后一种情况下,这些数字被视为独立的数字。这些数字被解释为 (nrows, ncols, index)(nrows, ncols) 指定子图数组的大小,而 index 是正在创建的子图的基于 1 的索引。最后,*args 也可以直接是 SubplotSpec 实例。

sharex, shareyAxes, 可选

x 或 y 轴与输入 Axes 中的 x 或 y 轴共享。请注意,无法取消轴共享。

frameonbool,默认值:True

Axes 框架是否可见。

box_aspectfloat,可选

为 Axes 框设置固定纵横比,即高度与宽度的比率。详情请参阅 set_box_aspect

forward_navigation_eventsbool 或 "auto",默认值:"auto"

控制平移/缩放事件是否传递给其下方的 Axes。"auto" 表示对于具有不可见补丁的轴为 True,否则为 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

{'auto', 'equal'} 或 float

autoscale_on

布尔值

autoscalex_on

未知

autoscaley_on

未知

axes_locator

Callable[[Axes, Renderer], Bbox]

axisbelow

布尔值 或 'line'

box_aspect

浮点数或 None

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

facecolor or fc

color

figure

Figure or SubFigure

forward_navigation_events

bool 或 "auto"

frame_on

布尔值

gid

str

in_layout

布尔值

label

object

mouseover

布尔值

navigate

布尔值

navigate_mode

未知

path_effects

列表 of AbstractPathEffect

picker

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

position

[left, bottom, width, height] 或 Bbox

prop_cycle

Cycler

rasterization_zorder

浮点数或 None

rasterized

布尔值

sketch_params

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

snap

布尔值或 None

subplotspec

未知

title

str

transform

变换

url

str

visible

布尔值

xbound

(lower: 浮点数, upper: 浮点数)

xlabel

str

xlim

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

xmargin

float 大于 -0.5

xscale

未知

xticklabels

未知

xticks

未知

ybound

(lower: 浮点数, upper: 浮点数)

ylabel

str

ylim

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

ymargin

float 大于 -0.5

yscale

未知

yticklabels

未知

yticks

未知

zorder

浮点数

返回:
Axes

新的 Axes 对象。

class InvertedPolarTransform(axis=None, use_rmin=True, *, apply_theta_transforms=True)[源代码]#

基类:Transform

极坐标变换的逆运算,将笛卡尔坐标空间 xy 映射回 thetar

参数:
axisAxis, 可选

与此变换关联的坐标轴。用于获取最小径向限制。

use_rminbool, 可选

如果为 True,则在从笛卡尔坐标变换后添加最小径向轴限制。必须同时指定 axis 才能使其生效。

has_inverse = True#

如果此变换具有相应的逆变换,则为 True。

input_dims = 2#

此变换的输入维度数量。必须在子类中重写(使用整数)。

inverted()[源代码]#

返回相应的逆变换。

它满足 x == self.inverted().transform(self.transform(x))

此方法的返回值应被视为临时值。对 self 的更新不会导致其逆副本的相应更新。

output_dims = 2#

此变换的输出维度数量。必须在子类中重写(使用整数)。

transform_non_affine(values)[源代码]#

仅应用此变换的非仿射部分。

transform(values) 始终等价于 transform_affine(transform_non_affine(values))

在非仿射变换中,这通常等价于 transform(values)。在仿射变换中,这始终是一个空操作。

参数:
values数组

输入值为长度为 input_dims 的数组或形状为 (N, input_dims) 的数组。

返回:
array

输出值为长度为 output_dims 的数组或形状为 (N, output_dims) 的数组,具体取决于输入。

class PolarAffine(scale_transform, limits)[源代码]#

基类:Affine2DBase

极坐标投影的仿射部分。

缩放输出,使得最大半径位于 Axes 圆的边缘,且原点映射到 (0.5, 0.5)。应用于 x 和 y 分量的变换是相同的,由以下公式给出

\[x_{1} = 0.5 \left [ \frac{x_{0}}{(r_{\max} - r_{\min})} + 1 \right ]\]

\(r_{\min}, r_{\max}\) 是最小和最大径向限制,在任何缩放(例如对数缩放)被移除之后。

参数:
scale_transformTransform

数据的缩放变换。用于移除径向视图限制中的任何缩放。

limitsBboxBase

数据的视图限制。其边界中唯一使用的部分是 y 限制(用于半径限制)。

get_matrix()[源代码]#

获取此变换的仿射部分的矩阵。

class PolarTransform(axis=None, use_rmin=True, *, apply_theta_transforms=True, scale_transform=None)[源代码]#

基类:Transform

基础极坐标变换。

此变换将极坐标 \(\theta, r\) 映射到笛卡尔坐标 \(x, y = r \cos(\theta), r \sin(\theta)\)(但不会完全变换为 Axes 坐标或处理屏幕空间中的定位)。

此变换旨在应用于数据,在对输入数据应用径向轴上的任何缩放(例如对数缩放)之后。

固定半径处的路径段会自动转换为圆弧,只要 path._interpolation_steps > 1

参数:
axisAxis, 可选

与此变换关联的坐标轴。用于获取最小径向限制。

use_rminbool, 可选

如果为 True,则在变换为笛卡尔坐标之前减去最小径向轴限制。必须同时指定 axis 才能使其生效。

has_inverse = True#

如果此变换具有相应的逆变换,则为 True。

input_dims = 2#

此变换的输入维度数量。必须在子类中重写(使用整数)。

inverted()[源代码]#

返回相应的逆变换。

它满足 x == self.inverted().transform(self.transform(x))

此方法的返回值应被视为临时值。对 self 的更新不会导致其逆副本的相应更新。

output_dims = 2#

此变换的输出维度数量。必须在子类中重写(使用整数)。

transform_non_affine(values)[源代码]#

仅应用此变换的非仿射部分。

transform(values) 始终等价于 transform_affine(transform_non_affine(values))

在非仿射变换中,这通常等价于 transform(values)。在仿射变换中,这始终是一个空操作。

参数:
values数组

输入值为长度为 input_dims 的数组或形状为 (N, input_dims) 的数组。

返回:
array

输出值为长度为 output_dims 的数组或形状为 (N, output_dims) 的数组,具体取决于输入。

transform_path_non_affine(path)[源代码]#

将此变换的非仿射部分应用于 Path path,返回新的 Path

transform_path(path) 等效于 transform_path_affine(transform_path_non_affine(values))

class RadialLocator(base, axes=None)[源代码]#

基类:Locator

用于定位半径刻度。

确保所有刻度严格为正数。对于所有其他任务,它委托给基础 Locator(可能因 r 轴的比例而异)。

nonsingular(vmin, vmax)[源代码]#

根据需要调整范围以避免奇点。

此方法在自动缩放期间被调用,将 (v0, v1) 设置为 Axes 上的数据限制(如果 Axes 包含任何数据),否则设置为 (-inf, +inf)

  • 如果 v0 == v1(可能存在一些浮点误差),此方法将返回围绕此值的扩展区间。

  • 如果 (v0, v1) == (-inf, +inf),此方法将返回适当的默认视图限制。

  • 否则,(v0, v1) 将不经修改地返回。

set_axis(axis)[源代码]#
view_limits(vmin, vmax)[源代码]#

为从 vmin 到 vmax 的范围选择一个比例尺。

子类应覆盖此方法以改变定位器行为。

class ThetaFormatter[源代码]#

基类:Formatter

用于格式化 theta 刻度标签。将弧度的原始单位转换为度并添加度数符号。

class ThetaLocator(base)[源代码]#

基类:Locator

用于定位theta刻度线。

除了视图跨越整个圆的情况外,这将与基本定位器的工作方式相同。在这种情况下,将返回之前使用的每45度默认位置。

set_axis(axis)[source]#
view_limits(vmin, vmax)[source]#

为从 vmin 到 vmax 的范围选择一个比例尺。

子类应覆盖此方法以改变定位器行为。

can_pan()[source]#

返回此坐标轴是否支持平移/缩放按钮功能。

对于极坐标轴,这有点误导。平移和缩放都通过同一个按钮执行。平移是在方位角方向上进行的,而缩放是沿着径向进行的。

can_zoom()[source]#

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

极坐标轴不支持缩放框。

clear()[source]#

清除 Axes。

drag_pan(button, key, x, y)[source]#

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

参数:
按钮MouseButton

按下的鼠标按钮。

keystr 或 None

按下的键(如果有)。

x, y浮点数

显示坐标中的鼠标坐标。

备注

这旨在由新的投影类型覆盖。

draw(renderer)[source]#

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

如果绘图对象不可见(Artist.get_visible 返回 False),则此操作无效。

参数:
渲染器RendererBase 子类。

备注

此方法在 Artist 子类中被覆盖。

end_pan()[source]#

当平移操作完成时调用(鼠标按钮松开时)。

备注

这旨在由新的投影类型覆盖。

format_coord(theta, r)[source]#

返回格式化 xy 坐标的格式字符串。

get_data_ratio()[source]#

返回数据本身的宽高比。对于极坐标图,此值应始终为1.0。

get_rlabel_position()[source]#
返回:
浮点数

径向标签的theta位置(以度为单位)。

get_rmax()[source]#
返回:
浮点数

外部径向限制。

get_rmin()[source]#
返回:
浮点数

内部径向限制。

get_rorigin()[source]#
返回:
浮点数
get_rsign()[source]#
get_theta_direction()[source]#

获取theta增加的方向。

-1:

Theta沿顺时针方向增加

1:

Theta沿逆时针方向增加

get_theta_offset()[source]#

获取0点位置的偏移量(以弧度为单位)。

get_thetamax()[source]#

返回theta最大限制(以度为单位)。

get_thetamin()[source]#

获取theta最小限制(以度为单位)。

get_xaxis_text1_transform(pad)[source]#
返回:
transform变换

用于绘制 x 轴标签的变换,它将在轴和标签之间添加 pad_points(以点为单位)的填充。x 方向使用数据坐标,y 方向使用轴坐标。

垂直对齐{'center', 'top', 'bottom', 'baseline', 'center_baseline'}

文本的垂直对齐方式。

水平对齐{'center', 'left', 'right'}

文本的水平对齐方式。

备注

此变换主要由 Axis 类使用,旨在被可能需要在不同位置放置坐标轴元素的新投影类型覆盖。

get_xaxis_text2_transform(pad)[source]#
返回:
transform变换

用于绘制次要 x 轴标签的变换,它将在轴和标签之间添加 pad_points 点的填充。x 方向是数据坐标,y 方向是轴坐标。

垂直对齐{'center', 'top', 'bottom', 'baseline', 'center_baseline'}

文本的垂直对齐方式。

水平对齐{'center', 'left', 'right'}

文本的水平对齐方式。

备注

此变换主要由 Axis 类使用,旨在被可能需要在不同位置放置坐标轴元素的新投影类型覆盖。

get_xaxis_transform(which='grid')[source]#

获取用于绘制X轴标签、刻度线和网格线的变换。X方向采用数据坐标,Y方向采用坐标轴坐标。

注意

此变换主要由 Axis 类使用,旨在被可能需要在不同位置放置坐标轴元素的新投影类型覆盖。

参数:
哪个{'grid', 'tick1', 'tick2'}
get_yaxis_text1_transform(pad)[source]#
返回:
transform变换

用于绘制 y 轴标签的变换,该变换会在坐标轴和标签之间添加 pad_points(以点为单位)的填充。x 方向使用坐标轴坐标,y 方向使用数据坐标。

垂直对齐{'center', 'top', 'bottom', 'baseline', 'center_baseline'}

文本的垂直对齐方式。

水平对齐{'center', 'left', 'right'}

文本的水平对齐方式。

备注

此变换主要由 Axis 类使用,旨在被可能需要在不同位置放置坐标轴元素的新投影类型覆盖。

get_yaxis_text2_transform(pad)[source]#
返回:
transform变换

用于绘制次要y轴标签的变换,它会在轴和标签之间添加 *pad_points* 点(以点为单位)的填充。x方向使用轴坐标,y方向使用数据坐标。

垂直对齐{'center', 'top', 'bottom', 'baseline', 'center_baseline'}

文本的垂直对齐方式。

水平对齐{'center', 'left', 'right'}

文本的水平对齐方式。

备注

此变换主要由 Axis 类使用,旨在被可能需要在不同位置放置坐标轴元素的新投影类型覆盖。

get_yaxis_transform(which='grid')[source]#

获取用于绘制y轴标签、刻度线和网格线的变换。x方向是轴坐标,y方向是数据坐标。

注意

此变换主要由 Axis 类使用,旨在被可能需要在不同位置放置坐标轴元素的新投影类型覆盖。

参数:
哪个{'grid', 'tick1', 'tick2'}
name = 'polar'#
set(*, adjustable=<UNSET>, agg_filter=<UNSET>, alpha=<UNSET>, anchor=<UNSET>, animated=<UNSET>, aspect=<UNSET>, autoscale_on=<UNSET>, autoscalex_on=<UNSET>, autoscaley_on=<UNSET>, axes_locator=<UNSET>, axisbelow=<UNSET>, box_aspect=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, facecolor=<UNSET>, forward_navigation_events=<UNSET>, frame_on=<UNSET>, gid=<UNSET>, in_layout=<UNSET>, label=<UNSET>, mouseover=<UNSET>, navigate=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, position=<UNSET>, prop_cycle=<UNSET>, rasterization_zorder=<UNSET>, rasterized=<UNSET>, rgrids=<UNSET>, rlabel_position=<UNSET>, rlim=<UNSET>, rmax=<UNSET>, rmin=<UNSET>, rorigin=<UNSET>, rscale=<UNSET>, rticks=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, subplotspec=<UNSET>, theta_direction=<UNSET>, theta_offset=<UNSET>, theta_zero_location=<UNSET>, thetagrids=<UNSET>, thetalim=<UNSET>, thetamax=<UNSET>, thetamin=<UNSET>, title=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, xbound=<UNSET>, xlabel=<UNSET>, xlim=<UNSET>, xmargin=<UNSET>, xscale=<UNSET>, xticklabels=<UNSET>, xticks=<UNSET>, ybound=<UNSET>, ylabel=<UNSET>, ylim=<UNSET>, ymargin=<UNSET>, yscale=<UNSET>, yticklabels=<UNSET>, yticks=<UNSET>, zorder=<UNSET>)[source]#

一次性设置多个属性。

支持的属性包括:

属性

描述

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'} 或 float

autoscale_on

布尔值

autoscalex_on

未知

autoscaley_on

未知

axes_locator

Callable[[Axes, Renderer], Bbox]

axisbelow

布尔值 或 'line'

box_aspect

浮点数或 None

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

facecolor or fc

color

figure

Figure or SubFigure

forward_navigation_events

bool 或 "auto"

frame_on

布尔值

gid

str

in_layout

布尔值

label

object

mouseover

布尔值

navigate

布尔值

navigate_mode

未知

path_effects

列表 of AbstractPathEffect

picker

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

position

[left, bottom, width, height] 或 Bbox

prop_cycle

Cycler

rasterization_zorder

浮点数或 None

rasterized

布尔值

rgrids

包含浮点数的元组

rlabel_position

数值

rlim

未知

rmax

浮点数

rmin

浮点数

rorigin

浮点数

rscale

未知

rticks

未知

sketch_params

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

snap

布尔值或 None

subplotspec

未知

theta_direction

未知

theta_offset

未知

theta_zero_location

str

thetagrids

包含浮点数的元组,单位:度

thetalim

未知

thetamax

未知

thetamin

未知

title

str

transform

变换

url

str

visible

布尔值

xbound

(lower: 浮点数, upper: 浮点数)

xlabel

str

xlim

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

xmargin

float 大于 -0.5

xscale

未知

xticklabels

未知

xticks

未知

ybound

(lower: 浮点数, upper: 浮点数)

ylabel

str

ylim

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

ymargin

float 大于 -0.5

yscale

未知

yticklabels

未知

yticks

未知

zorder

浮点数

set_rgrids(radii, labels=None, angle=None, fmt=None, **kwargs)[source]#

在极坐标图上设置径向网格线。

参数:
半径包含浮点数的元组

径向网格线的半径。

labels字符串元组或 None

每个径向网格线要使用的标签。如果为 None,则将使用 matplotlib.ticker.ScalarFormatter

angle浮点数

径向标签的角位置(以度为单位)。

fmt字符串或 None

用于 matplotlib.ticker.FormatStrFormatter 的格式字符串。例如 '%f'。

返回:
线条lines.Line2D 列表

径向网格线。

标签text.Text 列表

刻度标签。

其他参数:
**kwargs

*kwargs* 是标签的可选 Text 属性。

警告

这只设置当前刻度线的属性。刻度线不保证是持久的。各种操作可以创建、删除和修改 Tick 实例。如果您进一步操作图形(包括在显示图形上平移/缩放),这些设置有丢失的紧迫风险。

如果可能,请改用 set_tick_params

set_rlabel_position(value)[source]#

更新径向标签的theta位置。

参数:
数字

径向标签的角位置(以度为单位)。

set_rlim(bottom=None, top=None, *, emit=True, auto=False, **kwargs)[source]#

设置径向轴视图限制。

此函数行为与 Axes.set_ylim 类似,但额外支持将 *rmin* 和 *rmax* 作为 *bottom* 和 *top* 的别名。

另请参阅

Axes.set_ylim
set_rmax(rmax)[source]#

设置外部径向限制。

参数:
rmax浮点数
set_rmin(rmin)[source]#

设置内部径向限制。

参数:
rmin浮点数
set_rorigin(rorigin)[source]#

更新径向原点。

参数:
rorigin浮点数
set_rscale(*args, **kwargs)[source]#
set_rticks(*args, **kwargs)[source]#
set_theta_direction(direction)[source]#

设置theta增加的方向。

顺时针, -1

Theta沿顺时针方向增加

逆时针, 1

Theta沿逆时针方向增加

set_theta_offset(offset)[source]#

设置0点位置的偏移量(以弧度为单位)。

set_theta_zero_location(loc, offset=0.0)[source]#

设置theta的零点位置。

这只是调用 set_theta_offset 并传入正确的弧度值。

参数:
位置字符串

可以是 "N", "NW", "W", "SW", "S", "SE", "E" 或 "NE" 之一。

偏移量浮点数, 默认值: 0

从指定的 *loc* 应用的度数偏移量。**注意:** 无论方向设置如何,此偏移量*始终*沿逆时针方向应用。

set_thetagrids(angles, labels=None, fmt=None, **kwargs)[source]#

在极坐标图中设置theta网格线。

参数:
角度包含浮点数的元组,单位:度

theta网格线的角度。

labels字符串元组或 None

每个theta网格线要使用的标签。如果为 None,则将使用 projections.polar.ThetaFormatter

fmt字符串或 None

用于 matplotlib.ticker.FormatStrFormatter 的格式字符串。例如 '%f'。请注意,使用的角度是以弧度为单位的。

返回:
线条lines.Line2D 列表

theta网格线。

标签text.Text 列表

刻度标签。

其他参数:
**kwargs

*kwargs* 是标签的可选 Text 属性。

警告

这只设置当前刻度线的属性。刻度线不保证是持久的。各种操作可以创建、删除和修改 Tick 实例。如果您进一步操作图形(包括在显示图形上平移/缩放),这些设置有丢失的紧迫风险。

如果可能,请改用 set_tick_params

set_thetalim(*args, **kwargs)[source]#

设置theta的最小值和最大值。

可以接受以下签名:

  • set_thetalim(minval, maxval): 以弧度为单位设置限制。

  • set_thetalim(thetamin=minval, thetamax=maxval): 以度为单位设置限制。

其中 minval 和 maxval 是最小值和最大值限制。值被包裹在范围 \([0, 2\pi]\)(弧度)内,因此例如可以设置 set_thetalim(-np.pi / 2, np.pi / 2) 使轴关于0对称。如果绝对角度差大于一个整圆,则会引发 ValueError。

set_thetamax(thetamax)[source]#

设置theta的最大限制(以度为单位)。

set_thetamin(thetamin)[source]#

设置theta的最小限制(以度为单位)。

set_yscale(*args, **kwargs)[source]#

设置 y 轴的比例。

参数:
字符串或 ScaleBase

要应用的轴刻度类型。有效的字符串值为刻度类名称("linear", "log", "function",...)。这些可以是任何 内置刻度 的名称,也可以是使用 matplotlib.scale.register_scale 注册的任何自定义刻度的名称。

**kwargs

如果 value 是字符串,则关键字参数将传递给相应类的实例化方法。

start_pan(x, y, button)[source]#

当平移操作开始时调用。

参数:
x, y浮点数

显示坐标中的鼠标坐标。

按钮MouseButton

按下的鼠标按钮。

备注

这旨在由新的投影类型覆盖。

class matplotlib.projections.polar.PolarTransform(axis=None, use_rmin=True, *, apply_theta_transforms=True, scale_transform=None)[source]#

基类:Transform

基础极坐标变换。

此变换将极坐标 \(\theta, r\) 映射到笛卡尔坐标 \(x, y = r \cos(\theta), r \sin(\theta)\)(但不会完全变换为 Axes 坐标或处理屏幕空间中的定位)。

此变换旨在应用于数据,在对输入数据应用径向轴上的任何缩放(例如对数缩放)之后。

固定半径处的路径段会自动转换为圆弧,只要 path._interpolation_steps > 1

参数:
axisAxis, 可选

与此变换关联的坐标轴。用于获取最小径向限制。

use_rminbool, 可选

如果为 True,则在变换为笛卡尔坐标之前减去最小径向轴限制。必须同时指定 axis 才能使其生效。

has_inverse = True#

如果此变换具有相应的逆变换,则为 True。

input_dims = 2#

此变换的输入维度数量。必须在子类中重写(使用整数)。

inverted()[source]#

返回相应的逆变换。

它满足 x == self.inverted().transform(self.transform(x))

此方法的返回值应被视为临时值。对 self 的更新不会导致其逆副本的相应更新。

output_dims = 2#

此变换的输出维度数量。必须在子类中重写(使用整数)。

transform_non_affine(values)[source]#

仅应用此变换的非仿射部分。

transform(values) 始终等价于 transform_affine(transform_non_affine(values))

在非仿射变换中,这通常等价于 transform(values)。在仿射变换中,这始终是一个空操作。

参数:
values数组

输入值,作为长度为 input_dims 或形状为 (N, input_dims) 的数组。

返回:
array

输出值,作为长度为 output_dims 或形状为 (N, output_dims) 的数组,具体取决于输入。

transform_path_non_affine(path)[source]#

将此变换的非仿射部分应用于 Path path,返回新的 Path

transform_path(path) 等效于 transform_path_affine(transform_path_non_affine(values))

class matplotlib.projections.polar.RadialAxis(*args, **kwargs)[source]#

基类: YAxis

径向坐标轴。

这会覆盖 YAxis 的某些属性,以为径向轴提供特殊处理。

参数:
坐标轴Axes

创建的 Axis 所属的 Axes

pickradius浮点数

包含测试的接受半径。另请参阅 Axis.contains

clear布尔值,默认值:True

是否在创建时清除 Axis。这不是必需的,例如在创建作为 Axes 一部分的 Axis 时,因为 Axes.clear 将调用 Axis.clear。 .. versionadded:: 3.8

axis_name = 'radius'#

标识坐标轴的只读名称。

clear()[source]#

清除轴。

这会将轴属性重置为默认值

  • 标签

  • 刻度

  • 定位器、格式化器和刻度

  • 主次网格

  • 单位

  • 注册的回调

set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, converter=<UNSET>, data_interval=<UNSET>, gid=<UNSET>, in_layout=<UNSET>, inverted=<UNSET>, label=<UNSET>, label_coords=<UNSET>, label_position=<UNSET>, label_text=<UNSET>, major_formatter=<UNSET>, major_locator=<UNSET>, minor_formatter=<UNSET>, minor_locator=<UNSET>, mouseover=<UNSET>, offset_position=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, pickradius=<UNSET>, rasterized=<UNSET>, remove_overlapping_locs=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, tick_params=<UNSET>, ticklabels=<UNSET>, ticks=<UNSET>, ticks_position=<UNSET>, transform=<UNSET>, units=<UNSET>, url=<UNSET>, view_interval=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[source]#

一次性设置多个属性。

支持的属性包括:

属性

描述

agg_filter

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

alpha

浮点数或 None

animated

布尔值

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

converter

ConversionInterface

data_interval

未知

figure

Figure or SubFigure

gid

str

in_layout

布尔值

inverted

未知

label

未知

label_coords

未知

label_position

{'left', 'right'}

label_text

str

major_formatter

Formatter, str, 或函数

major_locator

Locator

minor_formatter

Formatter, str, 或函数

minor_locator

Locator

mouseover

布尔值

offset_position

{'left', 'right'}

path_effects

列表 of AbstractPathEffect

picker

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

pickradius

浮点数

rasterized

布尔值

remove_overlapping_locs

未知

sketch_params

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

snap

布尔值或 None

tick_params

未知

ticklabels

字符串序列或 Text 对象序列

ticks

1D 数组状

ticks_position

{'left', 'right', 'both', 'default', 'none'}

transform

变换

单位

单位标签

url

str

view_interval

未知

visible

布尔值

zorder

浮点数

class matplotlib.projections.polar.RadialLocator(base, axes=None)[source]#

基类:Locator

用于定位半径刻度。

确保所有刻度严格为正数。对于所有其他任务,它委托给基础 Locator(可能因 r 轴的比例而异)。

nonsingular(vmin, vmax)[source]#

根据需要调整范围以避免奇点。

此方法在自动缩放期间被调用,将 (v0, v1) 设置为 Axes 上的数据限制(如果 Axes 包含任何数据),否则设置为 (-inf, +inf)

  • 如果 v0 == v1(可能存在一些浮点误差),此方法将返回围绕此值的扩展区间。

  • 如果 (v0, v1) == (-inf, +inf),此方法将返回适当的默认视图限制。

  • 否则,(v0, v1) 将不经修改地返回。

set_axis(axis)[source]#
view_limits(vmin, vmax)[source]#

为从 vmin 到 vmax 的范围选择一个比例尺。

子类应覆盖此方法以改变定位器行为。

class matplotlib.projections.polar.RadialTick(*args, **kwargs)[source]#

基类: YTick

径向轴刻度。

YTick 的子类提供了径向刻度,对其重新定位进行了一些小修改,使得刻度根据轴限制进行旋转。这使得刻度线正确地垂直于轴脊。当启用“自动”旋转时,标签也会旋转以垂直于轴脊。

bbox 是坐标轴显示坐标中的 Bound2D 边界框,loc 是数据坐标中的刻度位置,size 是刻度线的大小(以点为单位)

set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, gid=<UNSET>, in_layout=<UNSET>, label=<UNSET>, mouseover=<UNSET>, pad=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[source]#

一次性设置多个属性。

支持的属性包括:

属性

描述

agg_filter

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

alpha

浮点数或 None

animated

布尔值

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

figure

Figure or SubFigure

gid

str

in_layout

布尔值

label

object

mouseover

布尔值

pad

浮点数

path_effects

列表 of AbstractPathEffect

picker

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

rasterized

布尔值

sketch_params

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

snap

布尔值或 None

transform

变换

url

str

visible

布尔值

zorder

浮点数

update_position(loc)[source]#

使用标量 loc 设置刻度在数据坐标中的位置。

class matplotlib.projections.polar.ThetaAxis(*args, **kwargs)[source]#

基类: XAxis

theta 坐标轴。

这会覆盖 XAxis 的某些属性,以为角度轴提供特殊处理。

参数:
坐标轴Axes

创建的 Axis 所属的 Axes

pickradius浮点数

包含测试的接受半径。另请参阅 Axis.contains

clear布尔值,默认值:True

是否在创建时清除 Axis。这不是必需的,例如在创建作为 Axes 一部分的 Axis 时,因为 Axes.clear 将调用 Axis.clear。 .. versionadded:: 3.8

axis_name = 'theta'#

标识坐标轴的只读名称。

clear()[source]#

清除轴。

这会将轴属性重置为默认值

  • 标签

  • 刻度

  • 定位器、格式化器和刻度

  • 主次网格

  • 单位

  • 注册的回调

set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, converter=<UNSET>, data_interval=<UNSET>, gid=<UNSET>, in_layout=<UNSET>, inverted=<UNSET>, label=<UNSET>, label_coords=<UNSET>, label_position=<UNSET>, label_text=<UNSET>, major_formatter=<UNSET>, major_locator=<UNSET>, minor_formatter=<UNSET>, minor_locator=<UNSET>, mouseover=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, pickradius=<UNSET>, rasterized=<UNSET>, remove_overlapping_locs=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, tick_params=<UNSET>, ticklabels=<UNSET>, ticks=<UNSET>, ticks_position=<UNSET>, transform=<UNSET>, units=<UNSET>, url=<UNSET>, view_interval=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[source]#

一次性设置多个属性。

支持的属性包括:

属性

描述

agg_filter

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

alpha

浮点数或 None

animated

布尔值

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

converter

ConversionInterface

data_interval

未知

figure

Figure or SubFigure

gid

str

in_layout

布尔值

inverted

未知

label

未知

label_coords

未知

label_position

{'top', 'bottom'}

label_text

str

major_formatter

Formatter, str, 或函数

major_locator

Locator

minor_formatter

Formatter, str, 或函数

minor_locator

Locator

mouseover

布尔值

path_effects

列表 of AbstractPathEffect

picker

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

pickradius

浮点数

rasterized

布尔值

remove_overlapping_locs

未知

sketch_params

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

snap

布尔值或 None

tick_params

未知

ticklabels

字符串序列或 Text 对象序列

ticks

1D 数组状

ticks_position

{'top', 'bottom', 'both', 'default', 'none'}

transform

变换

单位

单位标签

url

str

view_interval

未知

visible

布尔值

zorder

浮点数

class matplotlib.projections.polar.ThetaFormatter[source]#

基类:Formatter

用于格式化 theta 刻度标签。将弧度的原始单位转换为度并添加度数符号。

class matplotlib.projections.polar.ThetaLocator(base)[source]#

基类:Locator

用于定位theta刻度线。

除了视图跨越整个圆的情况外,这将与基本定位器的工作方式相同。在这种情况下,将返回之前使用的每45度默认位置。

set_axis(axis)[source]#
view_limits(vmin, vmax)[source]#

为从 vmin 到 vmax 的范围选择一个比例尺。

子类应覆盖此方法以改变定位器行为。

class matplotlib.projections.polar.ThetaTick(axes, *args, **kwargs)[source]#

基类: XTick

theta 轴刻度。

XTick 的子类提供了角度刻度,对其重新定位进行了一些小修改,使得刻度根据刻度位置进行旋转。这使得刻度线正确地垂直于弧形轴脊。

当启用“自动”旋转时,标签也会旋转以平行于轴脊。标签填充也在此处应用,因为无法使用通用坐标轴变换来生成特定于刻度的填充。

bbox 是坐标轴显示坐标中的 Bound2D 边界框,loc 是数据坐标中的刻度位置,size 是刻度线的大小(以点为单位)

set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, gid=<UNSET>, in_layout=<UNSET>, label=<UNSET>, mouseover=<UNSET>, pad=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[source]#

一次性设置多个属性。

支持的属性包括:

属性

描述

agg_filter

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

alpha

浮点数或 None

animated

布尔值

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

figure

Figure or SubFigure

gid

str

in_layout

布尔值

label

object

mouseover

布尔值

pad

浮点数

path_effects

列表 of AbstractPathEffect

picker

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

rasterized

布尔值

sketch_params

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

snap

布尔值或 None

transform

变换

url

str

visible

布尔值

zorder

浮点数

update_position(loc)[source]#

使用标量 loc 设置刻度在数据坐标中的位置。