matplotlib.scale
#
比例定义了数据值在轴上的分布,例如对数比例。它们被定义为 的子类ScaleBase
。
另请参阅axes.Axes.set_xscale
文档中的比例示例。
有关定义自定义比例的完整示例,请参阅自定义比例。
Matplotlib 还支持同时在两者上运行的不可分离的转换
Axis
。它们被称为投影,定义在
matplotlib.projections
.
- 类 matplotlib.scale。AsinhScale (轴, * , linear_width = 1.0 , base = 10 , subs = 'auto' , ** kwargs ) [来源] #
基地:
ScaleBase
基于反双曲正弦 (asinh) 的准对数标度
对于接近零的值,这本质上是一个线性比例,但对于大幅度值(正或负),它是渐近对数的。这些线性和对数状态之间的过渡是平滑的,与
SymmetricalLogScale
(“symlog”)尺度相比,函数梯度没有不连续性。具体来说,轴坐标的变换\(a\)是 \(a \rightarrow a_0 \sinh^{-1} (a / a_0)\)在哪里\(a_0\) 是变换的线性区域的有效宽度。在那个区域,变换是 \(a \rightarrow a + \mathcal{O}(a^3)\). 对于较大的值\(a\)转换表现为 \(a \rightarrow a_0 \, \mathrm{sgn}(a) \ln |a| + \mathcal{O}(1)\).
笔记
此 API 是临时的,将来可能会根据早期用户反馈进行修订。
- 参数:
- 线性宽度浮动,默认值:1
比例参数(在其他地方称为\(a_0\)) 定义准线性区域的范围,以及超出该坐标值的变换变为渐近对数的坐标值。
- 基本整数,默认值:10
用于在对数刻度上舍入刻度位置的数字基数。如果小于一,则四舍五入到最接近的 10 次幂的整数倍。
- int的子序列
用于次要刻度的数字基数的倍数。如果设置为“auto”,这将使用内置默认值,例如 (2, 5) 表示 base=10。
- auto_tick_multipliers = {3: (2,), 4: (2,), 5: (2,), 8: (2, 4), 10: (2, 5), 16: (2, 4, 8), 64: (4, 16), 1024: (256, 512)} #
- 属性 线性宽度#
- 名称= 'asinh' #
- 类 matplotlib.scale。AsinhTransform ( linear_width ) [来源] #
基地:
Transform
反双曲正弦变换
AsinhScale
- 参数:
- 速记名 str
表示转换的“名称”的字符串。
str(transform)
除了提高DEBUG=True 时的可读性之外,该名称没有任何意义 。
- has_inverse = True #
如果此变换具有相应的逆变换,则为真。
- input_dims = 1 #
此变换的输入维数。必须在子类中被覆盖(使用整数)。
- 倒置( ) [来源] #
返回对应的逆变换。
它成立。
x == self.inverted().transform(self.transform(x))
此方法的返回值应被视为临时的。对self的更新不会导致对其反向副本的相应更新。
- is_separable = True #
如果此变换在 x 和 y 维度上是可分离的,则为真。
- output_dims = 1 #
此变换的输出维数。必须在子类中被覆盖(使用整数)。
- transform_non_affine ( a ) [来源] #
仅应用此转换的非仿射部分。
transform(values)
总是等价于transform_affine(transform_non_affine(values))
。在非仿射变换中,这通常等价于
transform(values)
。在仿射变换中,这始终是空操作。- 参数:
- 值数组
输入值作为长度
input_dims
或形状 (N xinput_dims
) 的 NumPy 数组。
- 返回:
- 大批
输出值作为长度
output_dims
或形状 (N xoutput_dims
) 的 NumPy 数组,具体取决于输入。
- 类 matplotlib.scale。FuncScale (轴,函数) [来源] #
基地:
ScaleBase
使用用户提供的功能为轴提供任意比例。
- 参数:
- 轴
Axis
刻度轴。
- 函数(可调用,可调用)
尺度的正反函数的二元组。前向函数必须是单调的。
这两个函数都必须具有签名:
def forward(values: array-like) -> array-like
- 轴
- get_transform ( ) [来源] #
返回
FuncTransform
与此比例相关的。
- 名称= '功能' #
- 类 matplotlib.scale。FuncScaleLog (轴,函数, base = 10 ) [来源] #
基地:
LogScale
使用用户提供的函数为轴提供任意比例,然后放在对数轴上。
- 参数:
- 轴
matplotlib.axis.Axis
刻度轴。
- 函数(可调用,可调用)
尺度的正反函数的二元组。前向函数必须是单调的。
这两个函数都必须具有签名:
def forward(values: array-like) -> array-like
- 基本浮点数,默认值:10
刻度的对数底。
- 轴
- 属性 基础#
- 名称= '功能日志' #
- 类 matplotlib.scale。FuncTransform ( forward , inverse ) [来源] #
基地:
Transform
一个简单的变换,它采用任意函数进行正向和逆变换。
- 参数:
- 前向可调用
变换的前向函数。此函数必须具有逆函数,并且为了获得最佳行为,必须是单调的。它必须有签名:
def forward(values: array-like) -> array-like
- 反向可调用
前向函数的逆函数。签名为
forward
.
- has_inverse = True #
如果此变换具有相应的逆变换,则为真。
- input_dims = 1 #
此变换的输入维数。必须在子类中被覆盖(使用整数)。
- 倒置( ) [来源] #
返回对应的逆变换。
它成立。
x == self.inverted().transform(self.transform(x))
此方法的返回值应被视为临时的。对self的更新不会导致对其反向副本的相应更新。
- is_separable = True #
如果此变换在 x 和 y 维度上是可分离的,则为真。
- output_dims = 1 #
此变换的输出维数。必须在子类中被覆盖(使用整数)。
- transform_non_affine (值) [来源] #
仅应用此转换的非仿射部分。
transform(values)
总是等价于transform_affine(transform_non_affine(values))
。在非仿射变换中,这通常等价于
transform(values)
。在仿射变换中,这始终是空操作。- 参数:
- 值数组
输入值作为长度
input_dims
或形状 (N xinput_dims
) 的 NumPy 数组。
- 返回:
- 大批
输出值作为长度
output_dims
或形状 (N xoutput_dims
) 的 NumPy 数组,具体取决于输入。
- 类 matplotlib.scale。InvertedAsinhTransform ( linear_width ) [来源] #
基地:
Transform
使用的双曲正弦变换
AsinhScale
- 参数:
- 速记名 str
表示转换的“名称”的字符串。
str(transform)
除了提高DEBUG=True 时的可读性之外,该名称没有任何意义 。
- has_inverse = True #
如果此变换具有相应的逆变换,则为真。
- input_dims = 1 #
此变换的输入维数。必须在子类中被覆盖(使用整数)。
- 倒置( ) [来源] #
返回对应的逆变换。
它成立。
x == self.inverted().transform(self.transform(x))
此方法的返回值应被视为临时的。对self的更新不会导致对其反向副本的相应更新。
- is_separable = True #
如果此变换在 x 和 y 维度上是可分离的,则为真。
- output_dims = 1 #
此变换的输出维数。必须在子类中被覆盖(使用整数)。
- transform_non_affine ( a ) [来源] #
仅应用此转换的非仿射部分。
transform(values)
总是等价于transform_affine(transform_non_affine(values))
。在非仿射变换中,这通常等价于
transform(values)
。在仿射变换中,这始终是空操作。- 参数:
- 值数组
输入值作为长度
input_dims
或形状 (N xinput_dims
) 的 NumPy 数组。
- 返回:
- 大批
输出值作为长度
output_dims
或形状 (N xoutput_dims
) 的 NumPy 数组,具体取决于输入。
- 类 matplotlib.scale。InvertedLogTransform ( base ) [来源] #
基地:
Transform
- 参数:
- 速记名 str
表示转换的“名称”的字符串。
str(transform)
除了提高DEBUG=True 时的可读性之外,该名称没有任何意义 。
- has_inverse = True #
如果此变换具有相应的逆变换,则为真。
- input_dims = 1 #
此变换的输入维数。必须在子类中被覆盖(使用整数)。
- 倒置( ) [来源] #
返回对应的逆变换。
它成立。
x == self.inverted().transform(self.transform(x))
此方法的返回值应被视为临时的。对self的更新不会导致对其反向副本的相应更新。
- is_separable = True #
如果此变换在 x 和 y 维度上是可分离的,则为真。
- output_dims = 1 #
此变换的输出维数。必须在子类中被覆盖(使用整数)。
- transform_non_affine ( a ) [来源] #
仅应用此转换的非仿射部分。
transform(values)
总是等价于transform_affine(transform_non_affine(values))
。在非仿射变换中,这通常等价于
transform(values)
。在仿射变换中,这始终是空操作。- 参数:
- 值数组
输入值作为长度
input_dims
或形状 (N xinput_dims
) 的 NumPy 数组。
- 返回:
- 大批
输出值作为长度
output_dims
或形状 (N xoutput_dims
) 的 NumPy 数组,具体取决于输入。
- 类 matplotlib.scale。InvertedSymmetricalLogTransform ( base , linthresh , linscale ) [source] #
基地:
Transform
- 参数:
- 速记名 str
表示转换的“名称”的字符串。
str(transform)
除了提高DEBUG=True 时的可读性之外,该名称没有任何意义 。
- has_inverse = True #
如果此变换具有相应的逆变换,则为真。
- input_dims = 1 #
此变换的输入维数。必须在子类中被覆盖(使用整数)。
- 倒置( ) [来源] #
返回对应的逆变换。
它成立。
x == self.inverted().transform(self.transform(x))
此方法的返回值应被视为临时的。对self的更新不会导致对其反向副本的相应更新。
- is_separable = True #
如果此变换在 x 和 y 维度上是可分离的,则为真。
- output_dims = 1 #
此变换的输出维数。必须在子类中被覆盖(使用整数)。
- transform_non_affine ( a ) [来源] #
仅应用此转换的非仿射部分。
transform(values)
总是等价于transform_affine(transform_non_affine(values))
。在非仿射变换中,这通常等价于
transform(values)
。在仿射变换中,这始终是空操作。- 参数:
- 值数组
输入值作为长度
input_dims
或形状 (N xinput_dims
) 的 NumPy 数组。
- 返回:
- 大批
输出值作为长度
output_dims
或形状 (N xoutput_dims
) 的 NumPy 数组,具体取决于输入。
- 类 matplotlib.scale。LinearScale (轴) [来源] #
基地:
ScaleBase
默认线性比例。
- get_transform ( ) [来源] #
返回线性缩放的变换,这只是
IdentityTransform
.
- 名称= '线性' #
- 类 matplotlib.scale。LogScale (轴, * , base = 10 , subs = None , nonpositive = 'clip' ) [source] #
基地:
ScaleBase
标准对数刻度。注意仅绘制正值。
- 参数:
- 轴
Axis
刻度轴。
- 基本浮点数,默认值:10
对数的底。
- 非正数{'clip', 'mask'},默认值:'clip'
确定非正值的行为。它们可以被屏蔽为无效,或者被剪裁为一个非常小的正数。
- 子序列 int,默认值:无
在每个主要刻度之间放置子刻度的位置。例如,在 log10 刻度中,将在每个主要刻度之间放置 8 个对数间隔的次要刻度。
[2, 3, 4, 5, 6, 7, 8, 9]
- 轴
- 属性 基础#
- get_transform ( ) [来源] #
返回
LogTransform
与此比例相关的。
- 名称= '日志' #
- 类 matplotlib.scale。LogTransform ( base , nonpositive = 'clip' ) [source] #
基地:
Transform
- 参数:
- 速记名 str
表示转换的“名称”的字符串。
str(transform)
除了提高DEBUG=True 时的可读性之外,该名称没有任何意义 。
- has_inverse = True #
如果此变换具有相应的逆变换,则为真。
- input_dims = 1 #
此变换的输入维数。必须在子类中被覆盖(使用整数)。
- 倒置( ) [来源] #
返回对应的逆变换。
它成立。
x == self.inverted().transform(self.transform(x))
此方法的返回值应被视为临时的。对self的更新不会导致对其反向副本的相应更新。
- is_separable = True #
如果此变换在 x 和 y 维度上是可分离的,则为真。
- output_dims = 1 #
此变换的输出维数。必须在子类中被覆盖(使用整数)。
- transform_non_affine ( a ) [来源] #
仅应用此转换的非仿射部分。
transform(values)
总是等价于transform_affine(transform_non_affine(values))
。在非仿射变换中,这通常等价于
transform(values)
。在仿射变换中,这始终是空操作。- 参数:
- 值数组
输入值作为长度
input_dims
或形状 (N xinput_dims
) 的 NumPy 数组。
- 返回:
- 大批
输出值作为长度
output_dims
或形状 (N xoutput_dims
) 的 NumPy 数组,具体取决于输入。
- 类 matplotlib.scale。LogisticTransform ( nonpositive = 'mask' ) [来源] #
基地:
Transform
- 参数:
- 速记名 str
表示转换的“名称”的字符串。
str(transform)
除了提高DEBUG=True 时的可读性之外,该名称没有任何意义 。
- has_inverse = True #
如果此变换具有相应的逆变换,则为真。
- input_dims = 1 #
此变换的输入维数。必须在子类中被覆盖(使用整数)。
- 倒置( ) [来源] #
返回对应的逆变换。
它成立。
x == self.inverted().transform(self.transform(x))
此方法的返回值应被视为临时的。对self的更新不会导致对其反向副本的相应更新。
- is_separable = True #
如果此变换在 x 和 y 维度上是可分离的,则为真。
- output_dims = 1 #
此变换的输出维数。必须在子类中被覆盖(使用整数)。
- 类 matplotlib.scale。LogitScale (轴, nonpositive = 'mask' , * , one_half = '\\frac{1}{2}' , use_overline = False ) [来源] #
基地:
ScaleBase
0 到 1 之间数据的 Logit 标度,均不包括在内。
该比例类似于接近零和接近一的对数比例,并且在 0.5 附近几乎是线性的。它将区间 ]0, 1[ 映射到 ]-infty, +infty[。
- 参数:
- 轴
matplotlib.axis.Axis
目前未使用。
- 非正{'掩码','剪辑'}
确定超出开区间]0、1[ 的值的行为。它们可以被屏蔽为无效,或者被剪裁为非常接近 0 或 1 的数字。
- use_overline布尔值,默认值:False
指出使用生存符号 (overline{x}) 代替标准符号 (1-x) 来表示概率接近一。
- one_half str,默认值:r"frac{1}{2}"
用于刻度格式化程序的字符串表示 1/2。
- 轴
- get_transform ( ) [来源] #
返回
LogitTransform
与此比例相关的。
- 名称= 'logit' #
- 类 matplotlib.scale。LogitTransform ( nonpositive = 'mask' ) [source] #
基地:
Transform
- 参数:
- 速记名 str
表示转换的“名称”的字符串。
str(transform)
除了提高DEBUG=True 时的可读性之外,该名称没有任何意义 。
- has_inverse = True #
如果此变换具有相应的逆变换,则为真。
- input_dims = 1 #
此变换的输入维数。必须在子类中被覆盖(使用整数)。
- 倒置( ) [来源] #
返回对应的逆变换。
它成立。
x == self.inverted().transform(self.transform(x))
此方法的返回值应被视为临时的。对self的更新不会导致对其反向副本的相应更新。
- is_separable = True #
如果此变换在 x 和 y 维度上是可分离的,则为真。
- output_dims = 1 #
此变换的输出维数。必须在子类中被覆盖(使用整数)。
- 类 matplotlib.scale。ScaleBase (轴) [来源] #
基地:
object
所有尺度的基类。
尺度是可分离的变换,作用于单一维度。
子类应该覆盖
name
秤的名称。
get_transform()
返回 a 的方法
Transform
,它将数据坐标转换为缩放坐标。这种转换应该是可逆的,以便例如鼠标位置可以转换回数据坐标。set_default_locators_and_formatters()
一种为
Axis
使用此比例的对象设置默认定位器和格式化程序的方法。limit_range_for_scale()
一种将轴范围“固定”为可接受值的可选方法,例如将对数刻度轴限制为正值。
构建一个新的尺度。
笔记
以下说明适用于规模实施者。
出于向后兼容的原因,尺度将
Axis
对象作为第一个参数。但是,不应该使用这个参数:单个比例对象应该可以同时被多个Axis
es 使用。
- 类 matplotlib.scale。SymmetricalLogScale (轴, * , base = 10 , linthresh = 2 , subs = None , linscale = 1 ) [来源] #
基地:
ScaleBase
对称的对数刻度在从原点的正负两个方向上都是对数的。
由于接近零的值趋于无穷大,因此需要在零附近有一个线性范围。参数 linthresh允许用户指定此范围的大小(- linthresh,linthresh)。
- 参数:
- 基本浮点数,默认值:10
对数的底。
- linthresh浮点数,默认值:2
定义范围,在该范围内绘图是线性的。这避免了情节在零附近趋于无穷大。
(-x, x)
- int的子序列
在每个主要刻度之间放置子刻度的位置。例如,在 log10 刻度中:将在每个主要刻度之间放置 8 个对数间隔的次要刻度。
[2, 3, 4, 5, 6, 7, 8, 9]
- linscale浮点数,可选
这允许相对于对数范围扩展线性范围。它的值是用于线性范围的每一半的十进制数。例如,当 linscale == 1.0(默认值)时,用于线性范围的正负半部分的空间将等于对数范围中的十进制。
(-linthresh, linthresh)
构建一个新的尺度。
笔记
以下说明适用于规模实施者。
出于向后兼容的原因,尺度将
Axis
对象作为第一个参数。但是,不应该使用这个参数:单个比例对象应该可以同时被多个Axis
es 使用。- 属性 基础#
- get_transform ( ) [来源] #
返回
SymmetricalLogTransform
与此比例相关的。
- 属性 linscale #
- 属性 linthresh #
- 名称= '符号日志' #
- 类 matplotlib.scale。SymmetricalLogTransform ( base , linthresh , linscale ) [来源] #
基地:
Transform
- 参数:
- 速记名 str
表示转换的“名称”的字符串。
str(transform)
除了提高DEBUG=True 时的可读性之外,该名称没有任何意义 。
- has_inverse = True #
如果此变换具有相应的逆变换,则为真。
- input_dims = 1 #
此变换的输入维数。必须在子类中被覆盖(使用整数)。
- 倒置( ) [来源] #
返回对应的逆变换。
它成立。
x == self.inverted().transform(self.transform(x))
此方法的返回值应被视为临时的。对self的更新不会导致对其反向副本的相应更新。
- is_separable = True #
如果此变换在 x 和 y 维度上是可分离的,则为真。
- output_dims = 1 #
此变换的输出维数。必须在子类中被覆盖(使用整数)。
- transform_non_affine ( a ) [来源] #
仅应用此转换的非仿射部分。
transform(values)
总是等价于transform_affine(transform_non_affine(values))
。在非仿射变换中,这通常等价于
transform(values)
。在仿射变换中,这始终是空操作。- 参数:
- 值数组
输入值作为长度
input_dims
或形状 (N xinput_dims
) 的 NumPy 数组。
- 返回:
- 大批
The output values as NumPy array of length
output_dims
or shape (N xoutput_dims
), depending on the input.
- matplotlib.scale.register_scale(scale_class)[source]#
Register a new kind of scale.
- Parameters:
- scale_classsubclass of
ScaleBase
The scale to register.
- scale_classsubclass of
- matplotlib.scale.scale_factory(scale, axis, **kwargs)[source]#
Return a scale class by name.
- Parameters:
- scale {'asinh', 'function', 'functionlog', 'linear', 'log', 'logit', 'symlog'}
- 轴
matplotlib.axis.Axis