matplotlib.projections.polar#

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

基类:Transform

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

参数:
: Axis, 可选轴, 可选

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

use_rmin : bool, 可选bool, 可选

如果 True,在从笛卡尔坐标转换后添加最小径向轴限制。axis 也必须指定才能生效。

has_inverse = 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)。在仿射变换中,这始终是一个空操作。

参数:
数组

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

返回:
数组

输出值为一个长度为 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_transform转换

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

限制 : BboxBaseBboxBase

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

get_matrix()[源代码][源代码]#

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

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

基类:Axes

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

Theta 从东边开始,逆时针方向移动。

在图形中构建一个坐标轴。

参数:
fig

Axes 是在 Figure fig 中构建的。

*args

*args 可以是一个 (左, 底, 宽, 高) 的矩形或一个单一的 Bbox。这指定了 Axes 在图坐标系中的位置矩形。

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

sharex, sharey : Axes, 可选Axes,可选

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

frameonbool, 默认: True

Axes 框架是否可见。

box_aspect浮点数, 可选

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

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

控制是否将平移/缩放事件传递给此图表下方的 Axes。"auto" 在图表补丁不可见时为 True,否则为 False

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

autoscale_on

布尔

autoscalex_on

未知

autoscaley_on

未知

axes_locator

Callable[[Axes, Renderer], Bbox]

axisbelow

布尔值或 'line'

box_aspect

浮点数或无

clip_box

BboxBase 或 None

clip_on

布尔

clip_path

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

facecolor 或 fc

color

figure

FigureSubFigure

forward_navigation_events

布尔值或“自动”

frame_on

布尔

gid

str

in_layout

布尔

标签

对象

鼠标悬停

布尔

导航

布尔

navigate_mode

未知

path_effects

AbstractPathEffect 的列表

picker

None 或 bool 或 float 或 callable

position

[左, 底, 宽, 高] 或 Bbox

prop_cycle

Cycler

rasterization_zorder

浮点数或无

光栅化

布尔

sketch_params

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

snap

布尔值或无

subplotspec

未知

标题

str

transform

Transform

url

str

可见

布尔

xbound

(下限: 浮点数, 上限: 浮点数)

xlabel

str

xlim

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

xmargin

浮点数大于 -0.5

xscale

未知

xticklabels

未知

xticks

未知

ybound

(下限: 浮点数, 上限: 浮点数)

ylabel

str

ylim

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

ymargin

浮点数大于 -0.5

yscale

未知

yticklabels

未知

yticks

未知

zorder

float

返回:
Axes

新的 Axes 对象。

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

基类:Transform

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

参数:
: Axis, 可选轴, 可选

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

use_rmin : bool, 可选bool, 可选

如果 True,在从笛卡尔坐标转换后添加最小径向轴限制。axis 也必须指定才能生效。

has_inverse = 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)。在仿射变换中,这始终是一个空操作。

参数:
数组

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

返回:
数组

输出值为一个长度为 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_transform转换

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

限制 : BboxBaseBboxBase

查看数据的限制。唯一使用其边界的部分是 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)\) (但不会完全转换为轴坐标或处理屏幕空间中的定位)。

此转换设计为在输入数据沿径向轴(例如对数缩放)进行任何缩放后应用于数据。

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

参数:
: Axis, 可选轴, 可选

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

use_rmin : bool, 可选bool, 可选

如果 True,在转换为笛卡尔坐标之前,减去最小径向轴限制。axis 也必须指定,这样才会生效。

has_inverse = 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)。在仿射变换中,这始终是一个空操作。

参数:
数组

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

返回:
数组

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

transform_path_non_affine(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)[源代码]#

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

此方法在自动缩放期间被调用,如果Axes包含任何数据,则``(v0, v1)``设置为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)[源代码]#
view_limits(vmin, vmax)[源代码]#

从 vmin 到 vmax 的范围选择一个刻度。

子类应重写此方法以改变定位器行为。

can_pan()[源代码][源代码]#

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

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

can_zoom()[源代码][源代码]#

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

极坐标轴不支持缩放框。

clear()[源代码][源代码]#

清除坐标轴。

drag_pan(button, key, x, y)[源代码][源代码]#

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

参数:
按钮 : MouseButtonMouseButton

按下的鼠标按钮。

关键str 或 None

按下的键(如果有的话)。

x, yfloat

显示坐标中的鼠标坐标。

注释

这是为了被新的投影类型所覆盖。

draw(renderer)[源代码][源代码]#

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

如果艺术家不可见(Artist.get_visible 返回 False),则此操作无效。

参数:
渲染器 : RendererBase 子类。RendererBase 子类。

注释

此方法在 Artist 子类中被重写。

end_pan()[源代码][源代码]#

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

注释

这是为了被新的投影类型所覆盖。

format_coord(theta, r)[源代码][源代码]#

返回一个格式化字符串,格式化 x, y 坐标。

get_data_ratio()[源代码][源代码]#

返回数据本身的纵横比。对于极坐标图,这应始终为1.0。

get_rlabel_position()[源代码][源代码]#
返回:
float

半径标签的 theta 位置,以度为单位。

get_rmax()[源代码][源代码]#
返回:
float

外径极限。

get_rmin()[源代码][源代码]#
返回:
float

内径向极限。

get_rorigin()[源代码][源代码]#
返回:
float
get_rsign()[源代码][源代码]#
get_theta_direction()[源代码][源代码]#

获取 theta 增加的方向。

-1:

Theta 在顺时针方向增加

1:

Theta 在逆时针方向增加

get_theta_offset()[源代码][源代码]#

获取位置 0 的偏移量,单位为弧度。

get_thetamax()[源代码][源代码]#

返回以度为单位的最大θ限制。

get_thetamin()[源代码][源代码]#

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

get_xaxis_text1_transform(pad)[源代码][源代码]#
返回:
变换转换

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

valign{'center', 'top', 'bottom', 'baseline', 'center_baseline'}

文本垂直对齐。

halign{'center', 'left', 'right'}

文本水平对齐。

注释

此转换主要由 Axis 类使用,并且旨在被新类型的投影所覆盖,这些投影可能需要将轴元素放置在不同的位置。

get_xaxis_text2_transform(pad)[源代码][源代码]#
返回:
变换转换

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

valign{'center', 'top', 'bottom', 'baseline', 'center_baseline'}

文本垂直对齐。

halign{'center', 'left', 'right'}

文本水平对齐。

注释

此转换主要由 Axis 类使用,并且旨在被新类型的投影所覆盖,这些投影可能需要将轴元素放置在不同的位置。

get_xaxis_transform(which='grid')[源代码][源代码]#

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

备注

此转换主要由 Axis 类使用,并且旨在被新类型的投影所覆盖,这些投影可能需要将轴元素放置在不同的位置。

参数:
哪个{'grid', 'tick1', 'tick2'}
get_yaxis_text1_transform(pad)[源代码][源代码]#
返回:
变换转换

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

valign{'center', 'top', 'bottom', 'baseline', 'center_baseline'}

文本垂直对齐。

halign{'center', 'left', 'right'}

文本水平对齐。

注释

此转换主要由 Axis 类使用,并且旨在被新类型的投影所覆盖,这些投影可能需要将轴元素放置在不同的位置。

get_yaxis_text2_transform(pad)[源代码][源代码]#
返回:
变换转换

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

valign{'center', 'top', 'bottom', 'baseline', 'center_baseline'}

文本垂直对齐。

halign{'center', 'left', 'right'}

文本水平对齐。

注释

此转换主要由 Axis 类使用,并且旨在被新类型的投影所覆盖,这些投影可能需要将轴元素放置在不同的位置。

get_yaxis_transform(which='grid')[源代码][源代码]#

获取用于绘制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>)[源代码]#

一次性设置多个属性。

支持的属性是

属性

描述

可调整

{'box', 'datalim'}

agg_filter

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

alpha

标量或无

锚点

(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

浮点数或无

clip_box

BboxBase 或 None

clip_on

布尔

clip_path

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

facecolor 或 fc

color

figure

FigureSubFigure

forward_navigation_events

布尔值或“自动”

frame_on

布尔

gid

str

in_layout

布尔

标签

对象

鼠标悬停

布尔

导航

布尔

navigate_mode

未知

path_effects

AbstractPathEffect 的列表

picker

None 或 bool 或 float 或 callable

position

[左, 底, 宽, 高] 或 Bbox

prop_cycle

Cycler

rasterization_zorder

浮点数或无

光栅化

布尔

rgrids

包含浮点数的元组

rlabel_position

数字

rlim

未知

rmax

float

rmin

float

rorigin

float

rscale

未知

rticks

未知

sketch_params

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

snap

布尔值或无

subplotspec

未知

theta_direction

未知

theta_offset

未知

theta_zero_location

str

thetagrids

包含浮点数的元组,度数

thetalim

未知

thetamax

未知

thetamin

未知

标题

str

transform

Transform

url

str

可见

布尔

xbound

(下限: 浮点数, 上限: 浮点数)

xlabel

str

xlim

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

xmargin

浮点数大于 -0.5

xscale

未知

xticklabels

未知

xticks

未知

ybound

(下限: 浮点数, 上限: 浮点数)

ylabel

str

ylim

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

ymargin

浮点数大于 -0.5

yscale

未知

yticklabels

未知

yticks

未知

zorder

float

set_rgrids(radii, labels=None, angle=None, fmt=None, **kwargs)[源代码][源代码]#

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

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

径向网格线的半径

标签包含字符串或 None 的元组

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

角度float

半径标签的角位置,单位为度。

fmtstr 或 None

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

返回:
lines : lines.Line2D 的列表列表

径向网格线。

标签 : text.Text 的列表列表

刻度标签。

其他参数:
**kwargs

kwargs 是标签的可选 Text 属性。

警告

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

如果可能,请使用 set_tick_params

set_rlabel_position(value)[源代码][源代码]#

更新半径标签的 theta 位置。

参数:
数字

半径标签的角位置,单位为度。

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

设置径向轴的视图限制。

此函数的行为类似于 Axes.set_ylim,但另外支持 rminrmax 作为 bottomtop 的别名。

参见

Axes.set_ylim
set_rmax(rmax)[源代码][源代码]#

设置外径向限制。

参数:
rmaxfloat
set_rmin(rmin)[源代码][源代码]#

设置内径向限制。

参数:
rminfloat
set_rorigin(rorigin)[源代码][源代码]#

更新径向原点。

参数:
roriginfloat
set_rscale(*args, **kwargs)[源代码][源代码]#
set_rticks(*args, **kwargs)[源代码][源代码]#
set_theta_direction(direction)[源代码][源代码]#

设置theta增加的方向。

顺时针, -1:

Theta 在顺时针方向增加

逆时针, 逆时针, 1:

Theta 在逆时针方向增加

set_theta_offset(offset)[源代码][源代码]#

设置位置0的偏移量,单位为弧度。

set_theta_zero_location(loc, offset=0.0)[源代码][源代码]#

设置 theta 的零点位置。

这简单地使用正确的弧度值调用 set_theta_offset

参数:
locstr

可能是“N”、“NW”、“W”、“SW”、“S”、“SE”、“E”或“NE”之一。

偏移量float, 默认值: 0

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

set_thetagrids(angles, labels=None, fmt=None, **kwargs)[源代码][源代码]#

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

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

theta 网格线的角度。

标签包含字符串或 None 的元组

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

fmtstr 或 None

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

返回:
lines : lines.Line2D 的列表列表

theta 网格线。

标签 : text.Text 的列表列表

刻度标签。

其他参数:
**kwargs

kwargs 是标签的可选 Text 属性。

警告

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

如果可能,请使用 set_tick_params

set_thetalim(*args, **kwargs)[源代码][源代码]#

设置最小和最大的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)[源代码][源代码]#

设置最大角度限制,单位为度。

set_thetamin(thetamin)[源代码][源代码]#

设置最小角度限制,单位为度。

set_yscale(*args, **kwargs)[源代码][源代码]#

设置 y 轴的刻度。

参数:
: {"linear", "log", "symlog", "logit", ...} 或 ScaleBase{"线性", "对数", "对称对数", "对数几率", ...} 或

要应用的轴刻度类型。

**kwargs

根据不同的规模,接受不同的关键字参数。请参阅各自类的关键字参数:

注释

默认情况下,Matplotlib 支持上述提到的刻度。此外,可以使用 matplotlib.scale.register_scale 注册自定义刻度。这些刻度也可以在这里使用。

start_pan(x, y, button)[源代码][源代码]#

当平移操作开始时调用。

参数:
x, yfloat

显示坐标中的鼠标坐标。

按钮 : MouseButtonMouseButton

按下的鼠标按钮。

注释

这是为了被新的投影类型所覆盖。

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

基类:Transform

基础极坐标变换。

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

此转换设计为在输入数据沿径向轴(例如对数缩放)进行任何缩放后应用于数据。

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

参数:
: Axis, 可选轴, 可选

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

use_rmin : bool, 可选bool, 可选

如果 True,在转换为笛卡尔坐标之前,减去最小径向轴限制。axis 也必须指定,这样才会生效。

has_inverse = 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)。在仿射变换中,这始终是一个空操作。

参数:
数组

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

返回:
数组

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

transform_path_non_affine(path)[源代码][源代码]#

将此变换的非仿射部分应用于 Path 路径,返回一个新的 Path

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

class matplotlib.projections.polar.RadialAxis(*args, **kwargs)[源代码][源代码]#

基类:YAxis

一个径向轴。

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

参数:
axesAxes

创建的轴所属的 Axes

pickradiusfloat

用于包含测试的接受半径。另见 Axis.contains

清除bool, 默认: True

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

axis_name = 'radius'#

只读名称,用于标识轴。

clear()[源代码][源代码]#

清除轴。

这将重置轴属性为其默认值:

  • 标签

  • 规模

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

  • 主要和次要网格

  • 单位

  • 已注册的回调

set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<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>)[源代码]#

一次性设置多个属性。

支持的属性是

属性

描述

agg_filter

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

alpha

标量或无

animated

布尔

clip_box

BboxBase 或 None

clip_on

布尔

clip_path

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

数据间隔

未知

figure

FigureSubFigure

gid

str

in_layout

布尔

倒置

未知

标签

对象

label_coords

未知

label_position

{'left', 'right'}

标签文本

str

major_formatter

Formatter, str, 或函数

major_locator

Locator

minor_formatter

Formatter, str, 或函数

minor_locator

Locator

鼠标悬停

布尔

offset_position

{'left', 'right'}

path_effects

AbstractPathEffect 的列表

picker

None 或 bool 或 float 或 callable

pickradius

float

光栅化

布尔

remove_overlapping_locs

未知

sketch_params

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

snap

布尔值或无

tick_params

未知

ticklabels

字符串序列或 Text 对象序列

ticks

1D 类数组

ticks_position

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

transform

Transform

单位

units 标签

url

str

view_interval

未知

可见

布尔

zorder

float

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

基类:Locator

用于定位半径刻度。

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

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

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

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

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

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

  • 否则,(v0, v1) 将返回,不做任何修改。

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

从 vmin 到 vmax 的范围选择一个刻度。

子类应重写此方法以改变定位器行为。

class matplotlib.projections.polar.RadialTick(*args, **kwargs)[源代码][源代码]#

基类:YTick

一个径向轴的刻度。

这个 YTick 的子类提供了一些小的修改,使得径向刻度根据轴的限制重新定位,从而使刻度根据轴的限制旋转。这导致刻度正确地垂直于脊柱。当启用 'auto' 旋转时,标签也会旋转以垂直于脊柱。

bbox 是 Axes 在显示坐标中的 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>)[源代码]#

一次性设置多个属性。

支持的属性是

属性

描述

agg_filter

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

alpha

标量或无

animated

布尔

clip_box

BboxBase 或 None

clip_on

布尔

clip_path

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

figure

FigureSubFigure

gid

str

in_layout

布尔

标签

对象

鼠标悬停

布尔

pad

float

path_effects

AbstractPathEffect 的列表

picker

None 或 bool 或 float 或 callable

光栅化

布尔

sketch_params

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

snap

布尔值或无

transform

Transform

url

str

可见

布尔

zorder

float

update_position(loc)[源代码][源代码]#

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

class matplotlib.projections.polar.ThetaAxis(*args, **kwargs)[源代码][源代码]#

基类:XAxis

一个 theta 轴。

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

参数:
axesAxes

创建的轴所属的 Axes

pickradiusfloat

用于包含测试的接受半径。另见 Axis.contains

清除bool, 默认: True

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

axis_name = 'theta'#

只读名称,用于标识轴。

clear()[源代码][源代码]#

清除轴。

这将重置轴属性为其默认值:

  • 标签

  • 规模

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

  • 主要和次要网格

  • 单位

  • 已注册的回调

set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<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>)[源代码]#

一次性设置多个属性。

支持的属性是

属性

描述

agg_filter

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

alpha

标量或无

animated

布尔

clip_box

BboxBase 或 None

clip_on

布尔

clip_path

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

数据间隔

未知

figure

FigureSubFigure

gid

str

in_layout

布尔

倒置

未知

标签

对象

label_coords

未知

label_position

{'top', 'bottom'}

标签文本

str

major_formatter

Formatter, str, 或函数

major_locator

Locator

minor_formatter

Formatter, str, 或函数

minor_locator

Locator

鼠标悬停

布尔

path_effects

AbstractPathEffect 的列表

picker

None 或 bool 或 float 或 callable

pickradius

float

光栅化

布尔

remove_overlapping_locs

未知

sketch_params

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

snap

布尔值或无

tick_params

未知

ticklabels

字符串序列或 Text 对象序列

ticks

1D 类数组

ticks_position

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

transform

Transform

单位

units 标签

url

str

view_interval

未知

可见

布尔

zorder

float

class matplotlib.projections.polar.ThetaFormatter[源代码][源代码]#

基类:Formatter

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

class matplotlib.projections.polar.ThetaLocator(base)[源代码][源代码]#

基类:Locator

用于定位theta刻度。

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

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

从 vmin 到 vmax 的范围选择一个刻度。

子类应重写此方法以改变定位器行为。

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

基类:XTick

一个theta轴的刻度。

这个 XTick 的子类提供了一些小的修改,使得刻度根据其位置旋转。这样做的结果是刻度能够正确地垂直于弧形脊柱。

当启用 'auto' 旋转时,标签也会旋转以平行于书脊。由于无法使用通用的轴变换来生成特定刻度的填充,因此此处也会应用标签填充。

bbox 是 Axes 在显示坐标中的 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>)[源代码]#

一次性设置多个属性。

支持的属性是

属性

描述

agg_filter

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

alpha

标量或无

animated

布尔

clip_box

BboxBase 或 None

clip_on

布尔

clip_path

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

figure

FigureSubFigure

gid

str

in_layout

布尔

标签

对象

鼠标悬停

布尔

pad

float

path_effects

AbstractPathEffect 的列表

picker

None 或 bool 或 float 或 callable

光栅化

布尔

sketch_params

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

snap

布尔值或无

transform

Transform

url

str

可见

布尔

zorder

float

update_position(loc)[源代码][源代码]#

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