matplotlib.ticker
#
刻度定位与格式化#
此模块包含用于配置刻度定位和格式化的类。提供了通用的刻度定位器和格式化器,以及特定领域的自定义定位器和格式化器。
虽然定位器对主刻度和次刻度一无所知,但它们被轴类用来支持主刻度和次刻度的定位和格式化。
刻度定位#
Locator 类是所有刻度定位器的基类。定位器处理基于数据限制的视图限制的自动缩放,以及刻度位置的选择。一个有用的半自动刻度定位器是 MultipleLocator
。它以一个基数初始化,例如,10,并且它选择轴限制和刻度,这些限制和刻度是该基数的倍数。
这里定义的定位器子类有:
|
|
找到最多指定数量的区间,并在合适的位置打上刻度。 |
|
空间从最小到最大均匀分布。 |
|
空间刻度从最小到最大按对数变化。 |
|
刻度和范围是基数的倍数;可以是整数或浮点数。 |
|
刻度位置是固定的。 |
|
索引图的定位器(例如, |
|
没有勾号。 |
|
用于 symlog 规范的定位器;在阈值之外的部分工作方式类似于 |
|
用于 asinh 范数的定位器,试图近似均匀地分布刻度。 |
|
logit 缩放定位器。 |
|
当轴为线性且主刻度均匀分布时,用于次刻度的定位器。将主刻度间隔细分为指定数量的次刻度间隔,默认根据主间隔分为4或5个次间隔。 |
有一些专门用于日期位置的定位器 - 请参阅 dates
模块。
你可以通过继承 Locator 来定义自己的定位器。你必须重写 __call__
方法,该方法返回一个位置序列,并且你可能希望重写 autoscale 方法以根据数据限制设置视图限制。
如果你想覆盖默认的定位器,使用上述之一或自定义定位器,并将其传递给x轴或y轴实例。相关方法是:
ax.xaxis.set_major_locator(xmajor_locator)
ax.xaxis.set_minor_locator(xminor_locator)
ax.yaxis.set_major_locator(ymajor_locator)
ax.yaxis.set_minor_locator(yminor_locator)
默认的次要刻度定位器是 NullLocator
,即默认情况下没有次要刻度。
刻度格式化#
刻度格式化由从 Formatter 派生的类控制。格式化器对单个刻度值进行操作,并返回一个字符串给轴。
刻度上没有标签。 |
|
手动设置标签的字符串。 |
|
用户定义的函数设置标签。 |
|
使用字符串 |
|
使用旧式的 sprintf 格式字符串。 |
|
标量的默认格式化器:自动选择格式字符串。 |
|
对数轴的格式化器。 |
|
使用 |
|
使用 |
|
使用科学计数法格式化对数轴的值。 |
|
概率格式化器。 |
|
以工程记数法格式化标签。 |
|
将标签格式化为百分比。 |
你可以通过简单地重写 __call__
方法从 Formatter 基类派生你自己的格式化器。格式化器类可以访问轴视图和数据限制。
要控制主刻度和次刻度标签的格式,请使用以下方法之一:
ax.xaxis.set_major_formatter(xmajor_formatter)
ax.xaxis.set_minor_formatter(xminor_formatter)
ax.yaxis.set_major_formatter(ymajor_formatter)
ax.yaxis.set_minor_formatter(yminor_formatter)
除了 Formatter
实例,set_major_formatter
和 set_minor_formatter
也接受 str
或函数。str
输入将被内部替换为使用输入 str
自动生成的 StrMethodFormatter
。对于函数输入,将生成并使用带有输入函数的 FuncFormatter
。
有关设置主刻度和次刻度的示例,请参见 主刻度和次刻度。有关使用日期定位器和格式化器的更多信息和示例,请参见 matplotlib.dates
模块。
- class matplotlib.ticker.AsinhLocator(linear_width, numticks=11, symthresh=0.2, base=10, subs=None)[源代码][源代码]#
基类:
Locator
在反双曲正弦尺度上均匀放置刻度。
通常与
AsinhScale
类一起使用。备注
此API是暂定的,可能会根据早期用户反馈在未来进行修订。
- 参数:
- 线性宽度浮动
定义准线性区域范围的尺度参数。
- numticksint, 默认值: 11
将沿整个轴线适合的主要刻度的大致数量
- symthreshfloat, 默认值: 0.2
低于此分数阈值的数据,如果其覆盖范围大致关于零对称,则其刻度将完全对称。
- 基础int, 默认值: 10
用于在对数刻度上舍入刻度位置的数字基数。如果这个值小于一,那么舍入到最接近的十的幂的整数倍。
- substuple, 默认: None
数字基数的倍数,通常用于次要刻度,例如当基数=10时,使用 (2, 5)。
- class matplotlib.ticker.AutoLocator[源代码][源代码]#
基类:
MaxNLocator
均匀放置刻度,刻度步长和最大刻度数会自动选择。
这是
MaxNLocator
的一个子类,带有参数 nbins = 'auto' 和 steps = [1, 2, 2.5, 5, 10]。要了解非公开参数的值,请查看
MaxNLocator
的默认值。
- class matplotlib.ticker.AutoMinorLocator(n=None)[源代码][源代码]#
基类:
Locator
放置均匀间隔的次要刻度,刻度步长和最大刻度数将自动选择。
轴的比例必须是线性的,并且主刻度间距均匀。
n 是主刻度之间间隔的细分数量;例如,n=2 将在主刻度之间放置一个次刻度。
如果 n 被省略或为 None,将使用 rcParams 中存储的值。如果 n 设置为 'auto',它将被设置为 4 或 5。如果主刻度之间的距离等于 1、2.5、5 或 10,它可以被完美地分成 5 个等距的子区间,长度为 0.05 的倍数。否则,它将被分成 4 个子区间。
- class matplotlib.ticker.EngFormatter(unit='', places=None, sep=' ', *, usetex=None, useMathText=None)[源代码][源代码]#
基类:
Formatter
使用工程前缀格式化轴值,以表示1000的幂,再加上指定的单位,例如,10 MHz 而不是 1e7。
- 参数:
- 单元str, 默认值: ""
要使用的单位符号,适用于与1000的幂的单字母表示一起使用。例如,'Hz' 或 'm'。
- 地点int, 默认值: None
显示数字的精度,以小数点后的位数指定(小数点前会有1到3位数字)。如果为None,格式化将回退到浮点格式'%%g',该格式最多显示6位*有效*数字,即*places*的等效值在0到5之间(含0和5)。
- sepstr, 默认值: " "
用于值和前缀/单位之间的分隔符。例如,如果
sep
是 " "(默认),则得到 '3.14 mV',如果sep
是 "",则得到 '3.14mV'。除了默认行为外,还有一些其他有用的选项可能包括:sep=""
直接将前缀/单位附加到值上;sep="\N{THIN SPACE}"
(U+2009
);sep="\N{NARROW NO-BREAK SPACE}"
(U+202F
);sep="\N{NO-BREAK SPACE}"
(U+00A0
).
- usetex : bool, 默认值:
rcParams["text.usetex"]
(default:False
)bool, 默认: 启用/禁用使用 TeX 的数学模式来渲染格式化器中的数字。
- useMathText : bool, 默认值:
rcParams["axes.formatter.use_mathtext"]
(default:False
)bool, 默认: 启用/禁用格式化器中用于渲染数字的mathtext。
- ENG_PREFIXES = {-30: 'q', -27: 'r', -24: 'y', -21: 'z', -18: 'a', -15: 'f', -12: 'p', -9: 'n', -6: 'µ', -3: 'm', 0: '', 3: 'k', 6: 'M', 9: 'G', 12: 'T', 15: 'P', 18: 'E', 21: 'Z', 24: 'Y', 27: 'R', 30: 'Q'}#
- format_eng(num)[源代码][源代码]#
以工程记数法格式化一个数字,附加一个字母表示原数字的1000次幂。一些例子:
>>> format_eng(0) # for self.places = 0 '0'
>>> format_eng(1000000) # for self.places = 1 '1.0 M'
>>> format_eng(-1e-6) # for self.places = 2 '-1.00 µ'
- property useMathText#
!! 由 numpydoc 处理 !!
- property usetex#
!! 由 numpydoc 处理 !!
- class matplotlib.ticker.FixedFormatter(seq)[源代码][源代码]#
基类:
Formatter
仅根据位置返回刻度标签的固定字符串,不基于值。
备注
FixedFormatter
应该仅与FixedLocator
一起使用。否则,标签可能会出现在意想不到的位置。设置用于标签的字符串序列 seq。
- class matplotlib.ticker.FixedLocator(locs, nbins=None)[源代码][源代码]#
基类:
Locator
在固定值集合处放置刻度。
如果 nbins 为 None,刻度将放置在所有值上。否则,可能位置的 locs 数组将被二次采样以保持刻度数 \(\leq nbins + 1\)。二次采样将包括最小绝对值;例如,如果零包含在可能的数组中,那么它将被包含在选定的刻度中。
- class matplotlib.ticker.FormatStrFormatter(fmt)[源代码][源代码]#
基类:
Formatter
使用旧式('%' 运算符)格式字符串来格式化刻度。
格式字符串应包含一个单一的变量格式(%)。它将被应用于刻度的值(而非位置)。
负数值(例如,-1)将使用短划线,而不是Unicode减号;使用mathtext可以通过将格式说明符用$包裹来获取Unicode减号(例如,"$%g$")。
- class matplotlib.ticker.Formatter[源代码][源代码]#
基类:
TickHelper
根据刻度值和位置创建一个字符串。
- static fix_minus(s)[源代码][源代码]#
某些类可能希望用适当的 Unicode 符号(U+2212)替换减号中的连字符,以实现排版正确性。这是一个辅助方法,当通过
rcParams["axes.unicode_minus"]
(default:True
) 启用时,执行此类替换。
- locs = []#
- class matplotlib.ticker.FuncFormatter(func)[源代码][源代码]#
基类:
Formatter
使用用户定义的函数进行格式化。
该函数应接受两个输入(一个刻度值
x
和一个位置pos
),并返回包含相应刻度标签的字符串。
- class matplotlib.ticker.IndexLocator(base, offset)[源代码][源代码]#
基类:
Locator
在每个第 n 个绘制的点上放置刻度。
IndexLocator 假设索引绘图;即,刻度放置在从 0 到 len(data) 范围内的整数值上,包括 0 和 len(data)。
从 offset 开始,在每个 base 数据点放置刻度。
- class matplotlib.ticker.LinearLocator(numticks=None, presets=None)[源代码][源代码]#
基类:
Locator
在均匀间隔的值处放置刻度。
第一次调用此函数时,它会尝试设置刻度数以实现良好的刻度分区。之后,刻度数将被固定,以便交互式导航效果良好。
- 参数:
- numticksint 或 None, 默认 None
刻度数量。如果为 None,则 numticks = 11。
- 预设字典或None,默认:None
字典映射
(vmin, vmax)
到位置数组。如果当前(vmin, vmax)
有条目,则覆盖 numticks。
- property numticks#
!! 由 numpydoc 处理 !!
- class matplotlib.ticker.Locator[源代码][源代码]#
基类:
TickHelper
确定刻度位置。
请注意,相同的定位器不应在多个
Axis
之间使用,因为定位器存储了对轴数据和视图限制的引用。- MAXTICKS = 1000#
- nonsingular(v0, v1)[源代码][源代码]#
根据需要调整范围以避免奇点。
此方法在自动缩放期间被调用,如果 Axes 包含任何数据,则
(v0, v1)
设置为 Axes 上的数据限制,否则设置为(-inf, +inf)
。如果
v0 == v1
(可能在某些浮点误差范围内),此方法将返回一个围绕此值的扩展区间。如果
(v0, v1) == (-inf, +inf)
,此方法返回适当的默认视图限制。否则,
(v0, v1)
将不作修改地返回。
- raise_if_exceeds(locs)[源代码][源代码]#
如果 locs 的长度超过
Locator.MAXTICKS
,则在 WARNING 级别记录日志。这旨在在从
__call__
返回 locs 之前立即调用,以通知用户,以防他们的 Locator 返回大量刻度,导致 Matplotlib 耗尽内存。这个方法的“奇怪”名称可以追溯到它曾经会抛出异常而不是发出日志的时候。
- class matplotlib.ticker.LogFormatter(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[源代码][源代码]#
基类:
Formatter
用于在对数或对称对数刻度上格式化刻度的基类。
可以直接实例化,也可以子类化。
- 参数:
- 基础浮点数,默认值:10.
所有计算中使用的对数的底数。
- labelOnlyBasebool, 默认值: False
如果为 True,则仅在基数的整数次幂处标记刻度。这通常对主要刻度为 True,对次要刻度为 False。
- minor_thresholds(子集, 全部), 默认: (1, 0.4)
如果 labelOnlyBase 为 False,这两个数字控制不在整数次幂的基上的刻度的标签;通常这些是次要刻度。控制参数是轴数据范围的对数。在典型的基为 10 的情况下,它是轴跨越的十进制数,因此我们可以称之为 'numdec'。如果
numdec <= all
,所有次要刻度都将被标记。如果all < numdec <= subset
,那么只有一部分次要刻度会被标记,以避免拥挤。如果numdec > subset
,则不会标记任何次要刻度。- linthreshNone 或 float, 默认: None
如果正在使用对称对数刻度,则必须在此处提供其
linthresh
参数。
注释
必须调用
set_locs
方法以启用由minor_thresholds
参数控制的子集逻辑。在某些情况下,例如颜色条,主要刻度和次要刻度之间没有区别;刻度位置可以手动设置,或者由一个在基数的整数次幂和中间位置放置刻度的定位器设置。对于这种情况,可以通过使用
minor_thresholds=(np.inf, np.inf)
来禁用 minor_thresholds 逻辑,以便所有刻度都会被标记。当 'labelOnlyBase' 为 False 时,要禁用次刻度的标签,请使用
minor_thresholds=(0, 0)
。这是“经典”样式的默认设置。示例
要在视图限制跨越最多2个数量级时标记一小部分次要刻度,并在放大到0.5个数量级或更少时标记所有刻度,请使用
minor_thresholds=(2, 0.5)
。要在视图限制范围达到1.5个数量级时标记所有次要刻度,请使用
minor_thresholds=(1.5, 1.5)
。- set_base(base)[源代码][源代码]#
更改 基础 标签。
警告
应始终与用于
LogLocator
的基数匹配
- class matplotlib.ticker.LogFormatterExponent(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[源代码][源代码]#
基类:
LogFormatter
使用
exponent = log_base(value)
格式化对数轴的值。
- class matplotlib.ticker.LogFormatterMathtext(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[源代码][源代码]#
基类:
LogFormatter
使用
exponent = log_base(value)
格式化对数轴的值。
- class matplotlib.ticker.LogFormatterSciNotation(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[源代码][源代码]#
-
在对数轴上格式化遵循科学计数法的值。
- class matplotlib.ticker.LogLocator(base=10.0, subs=(1.0,), *, numticks=None)[源代码][源代码]#
基类:
Locator
放置对数间隔的刻度。
在值
subs[j] * base**i
处放置刻度。- 参数:
- 基础float, 默认值: 10.0
所使用的对数的底数,因此主刻度位于
base**n
处,其中n
是一个整数。- subsNone 或 {'auto', 'all'} 或浮点数序列,默认值:(1.0,)
指定在基数的整数次幂处放置刻度。默认值
(1.0, )
仅在基数的整数次幂处放置刻度。允许的字符串值为'auto'
和'all'
。这两个值都使用基于轴视图限制的算法来确定是否以及如何在基数的整数次幂之间放置刻度: -'auto'
:仅在整数次幂之间放置刻度。 -'all'
:在整数次幂之间和整数次幂处都放置刻度。 -None
:等同于'auto'
。- numticksNone 或 int,默认:None
给定轴上允许的最大刻度数。默认值
None
将尝试智能选择,只要此定位器已使用get_tick_space
分配给轴,否则将回退到 9。
- nonsingular(vmin, vmax)[源代码][源代码]#
根据需要调整范围以避免奇点。
此方法在自动缩放期间被调用,如果 Axes 包含任何数据,则
(v0, v1)
设置为 Axes 上的数据限制,否则设置为(-inf, +inf)
。如果
v0 == v1
(可能在某些浮点误差范围内),此方法将返回一个围绕此值的扩展区间。如果
(v0, v1) == (-inf, +inf)
,此方法返回适当的默认视图限制。否则,
(v0, v1)
将不作修改地返回。
- class matplotlib.ticker.LogitFormatter(*, use_overline=False, one_half='\\frac{1}{2}', minor=False, minor_threshold=25, minor_number=6)[源代码][源代码]#
基类:
Formatter
概率格式化工具(使用数学文本)。
- 参数:
- use_overlinebool, 默认值: False
如果 x > 1/2,且 x = 1 - v,指示是否应将 x 显示为 $overline{v}$。默认情况下,显示 $1 - v$。
- one_half : str, 默认值: r"\frac{1}{2}"str, 默认值: r"\frac{1}{2}"
用于表示 1/2 的字符串。
- 次要bool, 默认值: False
指示格式化器是否正在格式化次要刻度。基本上,次要刻度没有标记,除非只提供了少量刻度,与相邻刻度间距最大的刻度会被标记。请参阅其他参数以更改默认行为。
- minor_thresholdint, 默认值: 25
用于标记某些次要刻度的最大位置数。如果 minor 为 False,则此参数无效。
- minor_numberint, 默认值: 6
当刻度数量低于阈值时,标记的刻度数量。
- set_minor_number(minor_number)[源代码][源代码]#
设置在标记一些次要刻度时,次要刻度的数量。
- 参数:
- minor_number整数
当刻度数量低于阈值时,标记的刻度数量。
- class matplotlib.ticker.LogitLocator(minor=False, *, nbins='auto')[源代码][源代码]#
基类:
MaxNLocator
在logit刻度上均匀放置刻度。
- 参数:
- nbinsint 或 'auto', 可选
刻度数量。仅在 minor 为 False 时使用。
- 次要bool, 默认值: False
指示此定位器是否用于次要刻度。
- property minor#
!! 由 numpydoc 处理 !!
- class matplotlib.ticker.MaxNLocator(nbins=None, **kwargs)[源代码][源代码]#
基类:
Locator
均匀放置刻度,并限制刻度的总数。
在视图限制内找到不超过 \(nbins + 1\) 个刻度的好位置。超出限制的位置被添加以支持自动缩放。
- 参数:
- nbinsint 或 'auto', 默认值: 10
最大区间数;比最大刻度数少一。如果字符串为'auto',则区间数将根据轴的长度自动确定。
- 步骤类数组,可选
可接受的刻度倍数序列,从1开始到10结束。例如,如果
steps=[1, 2, 4, 5, 10]
,那么20, 40, 60
或0.4, 0.6, 0.8
将是可能的刻度集,因为它们是2的倍数。30, 60, 90
将不会生成,因为3不在这个示例的步骤列表中。- 整数bool, 默认值: False
如果为 True,刻度将只取整数值,前提是在视图限制内至少找到 min_n_ticks 个整数。
- 对称bool, 默认值: False
如果为真,自动缩放将导致一个关于零对称的范围。
- prune{'lower', 'upper', 'both', None}, 默认: None
移除 'lower' 刻度、'upper' 刻度,或 'both' 两侧的刻度 *如果它们恰好位于轴的边缘*(这通常发生在
rcParams["axes.autolimit_mode"]
(default:'data'
) 为 'round_numbers' 时)。移除这些刻度对于堆叠或组合的图表非常有用,其中 Axes 的上刻度与上方 Axes 的下刻度重叠。- min_n_ticksint, 默认值: 2
如有必要,放宽 nbins 和 integer 约束以获得此最小刻度数。
- default_params = {'integer': False, 'min_n_ticks': 2, 'nbins': 10, 'prune': None, 'steps': None, 'symmetric': False}#
- set_params(**kwargs)[源代码][源代码]#
设置此定位器的参数。
- 参数:
- nbinsint 或 'auto', 可选
参见
MaxNLocator
- 步骤类数组,可选
参见
MaxNLocator
- 整数bool, 可选
参见
MaxNLocator
- 对称bool, 可选
参见
MaxNLocator
- prune{'lower', 'upper', 'both', None}, 可选
参见
MaxNLocator
- min_n_ticksint, 可选
参见
MaxNLocator
- class matplotlib.ticker.MultipleLocator(base=1.0, offset=0.0)[源代码][源代码]#
基类:
Locator
在每个基数的整数倍加上偏移量的位置放置刻度。
- 参数:
- 基础float > 0, 默认值: 1.0
刻度之间的间隔。
- 偏移浮点数,默认值:0.0
每个 base 倍数的增值。
Added in version 3.8.
- set_params(base=None, offset=None)[源代码][源代码]#
在此定位器中设置参数。
- 参数:
- 基础float > 0, 可选
刻度之间的间隔。
- 偏移float, 可选
每个 base 倍数的增值。
Added in version 3.8.
- class matplotlib.ticker.PercentFormatter(xmax=100, decimals=None, symbol='%', is_latex=False)[源代码][源代码]#
基类:
Formatter
将数字格式化为百分比。
- 参数:
- xmax浮动
确定数字如何转换为百分比。xmax 是与 100% 相对应的数据值。百分比计算为
x / xmax * 100
。因此,如果数据已经按百分比缩放,xmax 将为 100。另一种常见情况是 xmax 为 1.0。- 小数无或整数
小数点后显示的小数位数。如果为 None (默认值),则小数位数将自动计算。
- 符号str 或 None
将被附加到标签的字符串。它可以是 None 或空,以表示不应使用任何符号。每当启用 latex 模式时,symbol 中的 LaTeX 特殊字符会被转义,除非 is_latex 为 True。
- is_latex布尔值
如果 False,symbol 中的保留 LaTeX 字符将被转义。
- format_pct(x, display_range)[源代码][源代码]#
将数字格式化为百分比数字,并根据需要添加正确的小数位数和百分号。
如果
self.decimals
是None
,小数点后的位数将根据轴的 display_range 设置如下:显示范围
小数
示例
>50
0
x = 34.5
=> 35%>5
toctree
是一个 reStructuredText 指令 ,这是一个非常多功能的标记。指令可以有参数、选项和内容。x = 34.5
=> 34.5%>0.5
2
x = 34.5
=> 34.50%...
...
...
这种方法对于极小的轴范围或极大的范围效果不佳。它假设图表上的值是显示在合理比例上的百分比。
- property symbol#
配置的百分号作为字符串。
如果通过
rcParams["text.usetex"]
(default:False
) 启用了 LaTeX,字符串中的特殊字符{'#', '$', '%', '&', '~', '_', '^', '\', '{', '}'}
会自动转义。
- class matplotlib.ticker.ScalarFormatter(useOffset=None, useMathText=None, useLocale=None)[源代码][源代码]#
基类:
Formatter
将刻度值格式化为数字。
- 参数:
- useOffset : bool 或 float, 默认值:
rcParams["axes.formatter.useoffset"]
(default:True
)布尔值或浮点数,默认值: 是否使用偏移表示法。参见
set_useOffset
。- useMathText : bool, 默认值:
rcParams["axes.formatter.use_mathtext"]
(default:False
)bool, 默认: 是否使用花哨的数学格式。参见
set_useMathText
。- useLocale : bool, 默认值:
rcParams["axes.formatter.use_locale"]
(default:False
).bool, 默认: 是否使用区域设置来表示小数点和正号。参见
set_useLocale
。
- useOffset : bool 或 float, 默认值:
注释
除了上述参数外,科学计数法与浮点表示法的格式可以通过
set_scientific
和set_powerlimits
进行配置。偏移表示法和科学计数法
偏移表示法和科学表示法乍一看非常相似。两者都将一些信息从格式化的刻度值中分离出来,并显示在轴的末端。
科学记数法将数量级,即一个乘法缩放因子,分开,例如
1e6
。偏移表示法分隔一个加法常数,例如
+1e6
。偏移表示法标签总是以+
或-
符号为前缀,因此可以与数量级标签区分开来。
以下x轴范围为
1_000_000
到1_000_010
的图表展示了不同的格式化效果。注意x轴右侧的标签。(
Source code
,2x.png
,png
)- get_useOffset()[源代码][源代码]#
返回偏移表示法的自动模式是否处于活动状态。
如果调用
set_useOffset(True)
,则返回 True;如果设置了显式偏移,例如set_useOffset(1000)
,则返回 False。
- set_powerlimits(lims)[源代码][源代码]#
设置科学计数法的大小阈值。
- 参数:
- lims(整数, 整数)
一个元组 (min_exp, max_exp),包含决定切换阈值的10的幂次。对于一个可表示为 \(a \times 10^\mathrm{exp}\) 的数,其中 \(1 <= |a| < 10\),如果
exp <= min_exp
或exp >= max_exp
,将使用科学计数法。默认限制由
rcParams["axes.formatter.limits"]
(default:[-5, 6]
) 控制。特别是当 exp 等于阈值时,数字会以科学计数法表示。
通常,min_exp 会是负数,而 max_exp 会是正数。
例如,
formatter.set_powerlimits((-3, 4))
将提供以下格式:\(1 imes 10^{-3}, 9.9 imes 10^{-3}, 0.01,\) \(9999, 1 imes 10^4\)。
- set_useLocale(val)[源代码][源代码]#
设置是否使用区域设置来确定小数点和正号的符号。
- 参数:
- val布尔值或无
None 重置为
rcParams["axes.formatter.use_locale"]
(default:False
)。
- set_useMathText(val)[源代码][源代码]#
设置是否使用花哨的数学格式化。
如果启用,科学计数法将格式化为 \(1.2 imes 10^3\)。
- 参数:
- val布尔值或无
None 重置为
rcParams["axes.formatter.use_mathtext"]
(default:False
)。
- set_useOffset(val)[源代码][源代码]#
设置是否使用偏移表示法。
在格式化一组数值时,如果这些数值相对于其范围较大,格式化器可以分离出一个加法常数。这可以缩短格式化的数值,使得它们在绘制在轴上时不太可能重叠。
- 参数:
- val布尔值或浮点数
如果为 False,则不使用偏移表示法。
如果为真(=自动模式),如果可以使残差数显著缩短,则使用偏移表示法。具体行为由
rcParams["axes.formatter.offset_threshold"]
(default:4
) 控制。如果是数字,强制设置给定值的偏移量。
示例
使用活动偏移符号,这些值
100_000, 100_002, 100_004, 100_006, 100_008
将被格式化为
0, 2, 4, 6, 8
加上一个偏移量+1e5
,这将被写到轴的边缘。
- property useLocale#
返回是否使用区域设置进行格式化。
- property useMathText#
返回是否使用花哨的数学格式化。
- property useOffset#
返回偏移表示法的自动模式是否处于活动状态。
如果调用
set_useOffset(True)
,则返回 True;如果设置了显式偏移,例如set_useOffset(1000)
,则返回 False。
- class matplotlib.ticker.StrMethodFormatter(fmt)[源代码][源代码]#
基类:
Formatter
使用新样式的格式字符串(如
str.format
所使用的)来格式化刻度。用于刻度值的字段必须标记为 x,用于刻度位置的字段必须标记为 pos。
格式化器在格式化负数值时会遵循
rcParams["axes.unicode_minus"]
(default:True
) 。通常不需要显式构造
StrMethodFormatter
对象,因为set_major_formatter
直接接受格式字符串本身。
- class matplotlib.ticker.SymmetricalLogLocator(transform=None, subs=None, linthresh=None, base=None)[源代码][源代码]#
基类:
Locator
在零附近线性放置刻度,并在阈值之外对数放置刻度。
- 参数:
- 变换 :
SymmetricalLogTransform
, 可选SymmetricalLogTransform, 可选 如果设置,定义 symlog 变换的 base 和 linthresh。
- base, linthreshfloat, 可选
SymmetricalLogScale
文档中记录的 base 和 linthresh 参数。这些参数仅在 transform 未设置时使用。- subs浮点数序列,默认值:[1]
在基数整数幂的倍数处放置刻度,即,刻度放置在
[sub * base**i for i in ... for sub in subs]
。
- 变换 :
注释
必须给出 transform 或同时给出 base 和 linthresh。