matplotlib.ticker
#
刻度定位与格式化#
此模块包含用于配置刻度定位和格式化的类。提供了通用的刻度定位器和格式化器,以及特定领域的自定义定位器和格式化器。
尽管定位器不了解主要或次要刻度,但它们被 Axis 类用于支持主要和次要刻度的定位和格式化。
刻度定位#
Locator 类是所有刻度定位器的基类。定位器负责根据数据限制自动缩放视图限制,以及选择刻度位置。一个有用的半自动刻度定位器是 MultipleLocator
。它通过一个基数(例如 10)进行初始化,并选择该基数倍数的坐标轴限制和刻度。
此处定义的 Locator 子类有
|
|
在合适的位置找到最多给定数量的刻度间隔。 |
|
从最小值到最大值均匀间隔刻度。 |
|
从最小值到最大值对数间隔刻度。 |
|
刻度和范围是基数的倍数;可以是整数或浮点数。 |
|
刻度位置固定。 |
|
用于索引图(例如, |
|
无刻度。 |
|
用于 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 格式字符串。 |
|
标量的默认格式化器:自动选择格式字符串。 |
|
对数坐标轴的格式化器。 |
|
使用 |
|
使用 Math text 和 |
|
使用科学记数法格式化对数坐标轴的值。 |
|
概率格式化器。 |
|
以工程符号格式化标签。 |
|
将标签格式化为百分比。 |
您可以通过简单地重写 __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
输入将在内部被自动生成的 StrMethodFormatter
替换,并使用输入的 str
。对于函数输入,将生成并使用带有输入函数的 FuncFormatter
。
有关设置主要和次要刻度的示例,请参见 主要和次要刻度。有关使用日期定位器和格式化器的更多信息和示例,请参见 matplotlib.dates
模块。
- class matplotlib.ticker.AsinhLocator(linear_width, numticks=11, symthresh=0.2, base=10, subs=None)[source]#
基类:
Locator
在反双曲正弦 (inverse-sinh) 尺度上均匀放置刻度。
通常与
AsinhScale
类一起使用。注意
此API是临时的,未来可能会根据早期用户反馈进行修订。
- 参数:
- linear_widthfloat
定义准线性区域范围的比例参数。
- numticksint, 默认值: 11
沿整个轴线将容纳的大致主刻度数量
- symthreshfloat, 默认值: 0.2
数据覆盖的范围近似关于零对称时,低于此小数阈值将具有完全对称的刻度。
- baseint, 默认值: 10
用于在对数尺度上舍入刻度位置的数字基数。如果此值小于一,则舍入到最接近的十的幂的整数倍数。
- substuple, 默认值: None
数字基数的倍数,通常用于次要刻度,例如当 base=10 时为 (2, 5)。
- class matplotlib.ticker.AutoLocator[source]#
基类:
MaxNLocator
均匀放置刻度,步长和最大刻度数量自动选择。
这是
MaxNLocator
的子类,参数为 nbins = 'auto' 和 steps = [1, 2, 2.5, 5, 10]。要了解非公共参数的值,请查看
MaxNLocator
的默认值。
- class matplotlib.ticker.AutoMinorLocator(n=None)[source]#
基类:
Locator
均匀放置次要刻度,步长和最大刻度数量自动选择。
Axis 必须使用线性刻度并具有均匀间隔的主刻度。
- 参数:
- nint 或 'auto', 默认值:
rcParams["xtick.minor.ndivs"]
(默认值:'auto'
) 或rcParams["ytick.minor.ndivs"]
(默认值:'auto'
) 主刻度间隔的细分数量;例如,n=2 将在主刻度之间中间位置放置一个次要刻度。
如果 n 为 'auto',它将被设置为 4 或 5:如果主刻度之间的距离等于 1、2.5、5 或 10,则可以完美地分成 5 个等距子区间,其长度是 0.05 的倍数;否则,它将被分成 4 个子区间。
- nint 或 'auto', 默认值:
- class matplotlib.ticker.EngFormatter(unit='', places=None, sep=' ', *, usetex=None, useMathText=None, useOffset=False)[source]#
-
使用工程前缀格式化轴值以表示 1000 的幂,并附加指定的单位,例如 10 MHz 而不是 1e7。
- 参数:
- unitstr, 默认值: ""
要使用的单位符号,适用于 1000 的幂的单字母表示。例如,'Hz' 或 'm'。
- placesint, 默认值: None
显示数字的精度,以小数点后的位数指定(小数点前将有一到三位数字)。如果为 None,格式化将回退到浮点格式 '%g',它显示最多 6 位*有效*数字,即 places 的等效值在 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
)。
- usetexbool, 默认值:
rcParams["text.usetex"]
(默认值:False
) 启用/禁用使用 TeX 的数学模式渲染格式化器中的数字。
- useMathTextbool, 默认值:
rcParams["axes.formatter.use_mathtext"]
(默认值:False
) 启用/禁用使用 mathtext 渲染格式化器中的数字。
- useOffsetbool 或 float, 默认值: False
是否使用基于 \(10^{3*N}\) 前缀的偏移表示法。此功能允许在坐标轴附近显示带有标准 SI 量级前缀的偏移量。偏移量的计算方式类似于
ScalarFormatter
内部的计算方式,但这里保证您将获得一个会使刻度标签超过 3 位数的偏移量。另请参阅set_useOffset
。自 3.10 版本新增。
- 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'}#
- class matplotlib.ticker.FixedFormatter(seq)[source]#
基类:
Formatter
仅基于位置而不是值,返回刻度标签的固定字符串。
注意
FixedFormatter
应仅与FixedLocator
一起使用。否则,标签可能会出现在意想不到的位置。设置将用于标签的字符串序列 seq。
- class matplotlib.ticker.FixedLocator(locs, nbins=None)[source]#
基类:
Locator
在一组固定值处放置刻度。
如果 nbins 为 None,则在所有值处放置刻度。否则,可能位置的 locs 数组将被子采样,以使刻度数量 \(\leq nbins + 1\)。子采样将包括最小绝对值;例如,如果数组中包含零,则零将包含在选定的刻度中。
- class matplotlib.ticker.FormatStrFormatter(fmt)[source]#
基类:
Formatter
使用旧式('%' 运算符)格式字符串来格式化刻度。
格式字符串中应只包含一个变量格式(%)。它将应用于刻度值(而非位置)。
负数值(例如 -1)将使用连字符而非 Unicode 减号;若要获得 Unicode 减号,请使用数学文本将格式说明符用 $ 括起来(例如 "$%g$")。
- class matplotlib.ticker.Formatter[source]#
基类:
TickHelper
根据刻度值和位置创建字符串。
- static fix_minus(s)[source]#
一些类可能希望用正确的Unicode符号 (U+2212) 替换表示负号的连字符,以符合排版规范。当通过
rcParams["axes.unicode_minus"]
(默认值:True
)启用时,这是一个执行此类替换的辅助方法。
- locs = []#
- class matplotlib.ticker.FuncFormatter(func)[source]#
基类:
Formatter
使用用户定义的函数进行格式化。
该函数应接受两个输入(刻度值
x
和位置pos
),并返回包含相应刻度标签的字符串。
- class matplotlib.ticker.IndexLocator(base, offset)[source]#
基类:
Locator
在绘制的每第n个点放置刻度。
IndexLocator 假定索引绘图;即刻度放置在 0 和 len(data)(含)之间的整数值处。
每隔 base 个数据点放置刻度,从 offset 开始。
- class matplotlib.ticker.LinearLocator(numticks=None, presets=None)[source]#
基类:
Locator
在等间距的值处放置刻度。
首次调用此函数时,它将尝试设置刻度数量以实现良好的刻度划分。此后,刻度数量将固定,以便交互式导航体验良好。
- 参数:
- numticks整型或 None,默认 None
刻度数量。如果为 None,则 numticks = 11。
- presets字典或 None,默认值:None
将
(vmin, vmax)
映射到位置数组的字典。如果当前(vmin, vmax)
有对应条目,则会覆盖 numticks。
- property numticks#
- class matplotlib.ticker.Locator[source]#
基类:
TickHelper
确定刻度位置。
请注意,同一个定位器不应在多个
Axis
上使用,因为定位器存储着对 Axis 数据和视图限制的引用。- MAXTICKS = 1000#
- nonsingular(v0, v1)[source]#
根据需要调整范围以避免奇异点。
此方法在自动缩放期间调用,如果坐标轴包含任何数据,则
(v0, v1)
设置为坐标轴上的数据限制;否则设置为(-inf, +inf)
。如果
v0 == v1
(可能存在一些浮点误差),此方法将返回围绕此值的扩展区间。如果
(v0, v1) == (-inf, +inf)
,此方法将返回适当的默认视图限制。否则,
(v0, v1)
将不作修改地返回。
- raise_if_exceeds(locs)[source]#
如果 locs 的长度超过
Locator.MAXTICKS
,则以 WARNING 级别记录。此方法旨在在从
__call__
返回 locs 之前立即调用,以告知用户,以防其 Locator 返回大量刻度,导致 Matplotlib 内存不足。此方法“奇怪”的名称可以追溯到它会引发异常而不是发出日志的时候。
- class matplotlib.ticker.LogFormatter(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[source]#
基类:
Formatter
用于格式化对数或对称对数刻度上的刻度的基类。
可以直接实例化,或作为子类使用。
- 参数:
- base浮点型,默认值:10。
所有计算中使用的对数基数。
- labelOnlyBase布尔型,默认值:False
如果为 True,则仅在基数的整数次幂处标记刻度。对于主刻度通常为 True,对于次刻度则为 False。
- minor_thresholds(子集, 全部),默认值:(1, 0.4)
如果 labelOnlyBase 为 False,这两个数字控制不在基数整数次幂处的刻度标签;通常这些是次刻度。控制参数是坐标轴数据范围的对数。在基数为 10 的典型情况下,它是坐标轴跨越的年代数量,我们可以称之为“numdec”。如果
numdec <= all
,则所有次刻度都将被标记。如果all < numdec <= subset
,则只标记次刻度的一个子集,以避免拥挤。如果numdec > subset
,则不标记任何次刻度。- linthreshNone 或浮点型,默认值: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)[source]#
更改用于标签的基数。
警告
应始终与
LogLocator
使用的基数匹配。
- class matplotlib.ticker.LogFormatterExponent(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[source]#
基类:
LogFormatter
使用
exponent = log_base(value)
格式化对数坐标轴的值。
- class matplotlib.ticker.LogFormatterMathtext(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[source]#
基类:
LogFormatter
使用
exponent = log_base(value)
格式化对数坐标轴的值。
- class matplotlib.ticker.LogFormatterSciNotation(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[source]#
-
在对数坐标轴中,按科学计数法格式化值。
- class matplotlib.ticker.LogLocator(base=10.0, subs=(1.0,), *, numticks=None)[source]#
基类:
Locator
放置对数间隔的刻度。
在值
subs[j] * base**i
处放置刻度。- 参数:
- base浮点型,默认值:10.0
使用的对数基数,因此主刻度放置在
base**n
处,其中n
是整数。- subsNone 或 {'auto', 'all'} 或浮点数序列,默认值:(1.0,)
给出放置刻度时基数整数次幂的倍数。默认值
(1.0, )
仅在基数的整数次幂处放置刻度。允许的字符串值为'auto'
和'all'
。两者都使用基于坐标轴视图限制的算法来确定是否以及如何在基数的整数次幂之间放置刻度: -'auto'
:刻度仅放置在整数次幂之间。 -'all'
:刻度放置在整数次幂之间和整数次幂处。 -None
:等同于'auto'
。- numticksNone 或整型,默认值:None
给定坐标轴上允许的最大刻度数量。默认值
None
将在 Locator 已通过get_tick_space
分配给某个坐标轴时尝试智能选择,否则回退到 9。
- nonsingular(vmin, vmax)[source]#
根据需要调整范围以避免奇异点。
此方法在自动缩放期间调用,如果坐标轴包含任何数据,则
(v0, v1)
设置为坐标轴上的数据限制;否则设置为(-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)[source]#
基类:
Formatter
概率格式化器(使用数学文本)。
- 参数:
- use_overline布尔型,默认值:False
如果 x > 1/2,且 x = 1 - v,指示 x 是否应显示为 \(\overline{v}\)。默认显示为 \(1 - v\)。
- one_half字符串,默认值:r"\frac{1}{2}"
用于表示 1/2 的字符串。
- minor布尔值,默认为:False
指示格式化器是否正在格式化次刻度。基本上,次刻度不带标签,除非提供的刻度很少,此时与相邻刻度之间空间最大的刻度会被标记。请参阅其他参数以更改默认行为。
- minor_threshold整型,默认值:25
标记部分次刻度位置的最大数量。如果 minor 为 False,此参数无效。
- minor_number整型,默认值:6
当刻度数量低于阈值时,被标记的刻度数量。
- set_minor_number(minor_number)[source]#
设置当部分次刻度被标记时,要标记的次刻度数量。
- 参数:
- minor_number整型
当刻度数量低于阈值时,被标记的刻度数量。
- class matplotlib.ticker.LogitLocator(minor=False, *, nbins='auto')[source]#
基类:
MaxNLocator
在 Logit 刻度上等间距放置刻度。
- 参数:
- nbins整型或 'auto',可选
刻度数量。仅当 minor 为 False 时使用。
- minor布尔值,默认为:False
指示此定位器是否用于次刻度。
- property minor#
- class matplotlib.ticker.MaxNLocator(nbins=None, **kwargs)[source]#
基类:
Locator
放置等间距的刻度,并限制刻度总数。
找到不超过 \(nbins + 1\) 个刻度位于视图限制内的合适刻度位置。超出限制的位置也会添加,以支持自动缩放。
- 参数:
- nbins整型或 'auto',默认值:10
最大间隔数;比最大刻度数少一个。如果字符串为 'auto',则 bin 的数量将根据坐标轴的长度自动确定。
- steps类数组,可选
可接受的刻度倍数序列,从 1 开始,到 10 结束。例如,如果
steps=[1, 2, 4, 5, 10]
,那么 20, 40, 60 或 0.4, 0.6, 0.8 都是可能的刻度集,因为它们是 2 的倍数。30, 60, 90 不会被生成,因为 3 没有出现在此示例步长列表中。- integer布尔型,默认值:False
如果为 True,刻度将只取整数值,前提是在视图限制内至少找到 min_n_ticks 个整数。
- symmetric布尔型,默认值:False
如果为 True,自动缩放将产生一个关于零对称的范围。
- prune{'lower', 'upper', 'both', None},默认值:None
如果刻度恰好落在坐标轴的边缘,则移除“lower”刻度、“upper”刻度或“both”两侧的刻度(这通常发生在
rcParams["axes.autolimit_mode"]
(默认值:'data'
)为 'round_numbers' 时)。移除此类刻度对于堆叠或并列图表特别有用,其中一个坐标轴的上刻度与其上方坐标轴的下刻度重叠。- min_n_ticks整型,默认值:2
如有必要,放宽 nbins 和整数约束以获得此最小刻度数量。
- default_params = {'integer': False, 'min_n_ticks': 2, 'nbins': 10, 'prune': None, 'steps': None, 'symmetric': False}#
- set_params(**kwargs)[source]#
为此定位器设置参数。
- 参数:
- nbins整型或 'auto',可选
参见
MaxNLocator
- steps类数组,可选
参见
MaxNLocator
- integer布尔型,可选
参见
MaxNLocator
- symmetric布尔型,可选
参见
MaxNLocator
- prune{'lower', 'upper', 'both', None},可选
参见
MaxNLocator
- min_n_ticks整型,可选
参见
MaxNLocator
- class matplotlib.ticker.MultipleLocator(base=1.0, offset=0.0)[source]#
基类:
Locator
在基数的每个整数倍加上一个偏移量处放置刻度。
- 参数:
- base浮点型 > 0,默认值:1.0
刻度之间的间隔。
- offset浮点型,默认值:0.0
添加到基数每个倍数的值。
在版本 3.8 中添加。
- set_params(base=None, offset=None)[source]#
在此定位器内设置参数。
- 参数:
- base浮点型 > 0,可选
刻度之间的间隔。
- offset浮点型,可选
添加到基数每个倍数的值。
在版本 3.8 中添加。
- class matplotlib.ticker.PercentFormatter(xmax=100, decimals=None, symbol='%', is_latex=False)[source]#
基类:
Formatter
将数字格式化为百分比。
- 参数:
- xmax浮点数
确定数字如何转换为百分比。xmax 是对应 100% 的数据值。百分比计算公式为
x / xmax * 100
。因此,如果数据已按百分比缩放,xmax 将为 100。另一种常见情况是 xmax 为 1.0。- decimalsNone 或整型
小数点后的位数。如果为 None(默认值),则会自动计算位数。
- symbol字符串或 None
将附加到标签的字符串。它可以是 None 或空字符串,表示不使用任何符号。每当 LaTeX 模式启用时,symbol 中的 LaTeX 特殊字符都会被转义,除非 is_latex 为 True。
- is_latex布尔型
如果为 False,则 symbol 中保留的 LaTeX 字符将被转义。
- format_pct(x, display_range)[source]#
将数字格式化为百分比,带正确的小数位数,并添加百分比符号(如果有)。
如果
self.decimals
为None
,则小数点后的位数将根据坐标轴的 display_range 设置,如下所示:display_range
decimals
sample
>50
0
x = 34.5
=> 35%>5
1
x = 34.5
=> 34.5%>0.5
2
x = 34.5
=> 34.50%...
...
...
此方法对于极小或极大坐标轴范围效果不佳。它假定图表上的值是按合理比例显示的百分比。
- property symbol#
配置的百分号符号(字符串形式)。
如果通过
rcParams["text.usetex"]
(默认值:False
)启用 LaTeX,则字符串中的特殊字符{'#', '$', '%', '&', '~', '_', '^', '\', '{', '}'}
将自动转义。
- class matplotlib.ticker.ScalarFormatter(useOffset=None, useMathText=None, useLocale=None, *, usetex=None)[source]#
基类:
Formatter
将刻度值格式化为数字。
- 参数:
- useOffset布尔型或浮点型,默认值:
rcParams["axes.formatter.useoffset"]
(默认值:True
) 是否使用偏移表示法。参见
set_useOffset
。- useMathTextbool, 默认值:
rcParams["axes.formatter.use_mathtext"]
(默认值:False
) 是否使用花式数学格式。参见
set_useMathText
。- useLocale布尔型,默认值:
rcParams["axes.formatter.use_locale"]
(默认值:False
)。 是否使用区域设置进行小数符号和正号。参见
set_useLocale
。- usetexbool, 默认值:
rcParams["text.usetex"]
(默认值:False
) 启用/禁用使用 TeX 的数学模式渲染格式化器中的数字。
自 3.10 版本新增。
- useOffset布尔型或浮点型,默认值:
备注
除了上述参数外,科学计数法与浮点表示法的格式化可以通过
set_scientific
和set_powerlimits
配置。偏移表示法和科学计数法
偏移表示法和科学计数法乍看起来非常相似。两者都从格式化的刻度值中分离出一些信息,并将其显示在坐标轴末端。
科学计数法分离出数量级,即一个乘性缩放因子,例如
1e6
。偏移表示法分离出一个加性常数,例如
+1e6
。偏移表示法的标签总是以+
或-
符号作为前缀,因此可以与数量级标签区分开来。
以下 x 轴限制为
1_000_000
到1_000_010
的图表说明了不同的格式化方式。请注意 x 轴右边缘的标签。- get_useOffset()[source]#
返回偏移表示法的自动模式是否激活。
如果
set_useOffset(True)
,则返回 True;如果设置了显式偏移,例如set_useOffset(1000)
,则返回 False。
- set_powerlimits(lims)[source]#
设置科学计数法的尺寸阈值。
- 参数:
- lims(整型, 整型)
一个包含 10 的幂的元组 (min_exp, max_exp),用于确定转换阈值。对于可以表示为 \(a \times 10^\mathrm{exp}\) 且 \(1 <= |a| < 10\) 的数字,如果
exp <= min_exp
或exp >= max_exp
,将使用科学计数法。默认限制由
rcParams["axes.formatter.limits"]
控制(默认值:[-5, 6]
)。特别是,exp 等于阈值的数字将以科学计数法书写。
通常,min_exp 将为负数,max_exp 将为正数。
例如,
formatter.set_powerlimits((-3, 4))
将提供以下格式:\(1 \times 10^{-3}, 9.9 \times 10^{-3}, 0.01,\) \(9999, 1 \times 10^4\)。
- set_useLocale(val)[source]#
设置是否使用区域设置进行小数符号和正号。
- 参数:
- val布尔型或 None
None 将重置为
rcParams["axes.formatter.use_locale"]
(默认值:False
)。
- set_useMathText(val)[source]#
设置是否使用花式数学格式。
如果启用,科学计数法将格式化为 \(1.2 \times 10^3\)。
- 参数:
- val布尔型或 None
None 将重置为
rcParams["axes.formatter.use_mathtext"]
(默认值:False
)。
- set_useOffset(val)[source]#
设置是否使用偏移表示法。
当格式化一组值相对于其范围较大时,格式化器可以分离出一个加性常数。这可以缩短格式化后的数字,使其在坐标轴上绘制时不太可能重叠。
- 参数:
- val布尔型或浮点型
如果为 False,则不使用偏移表示法。
如果为 True(=自动模式),如果偏移表示法能显著缩短剩余数字,则使用它。具体行为由
rcParams["axes.formatter.offset_threshold"]
控制(默认值: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。
- property usetex#
返回是否启用 TeX 的数学模式进行渲染。
- class matplotlib.ticker.StrMethodFormatter(fmt)[source]#
基类:
Formatter
使用新式格式字符串(如
str.format
所用)来格式化刻度。用于刻度值的字段必须标记为 x,用于刻度位置的字段必须标记为 pos。
在格式化负数值时,格式化器将遵循
rcParams["axes.unicode_minus"]
(默认值:True
)。通常不需要显式构造
StrMethodFormatter
对象,因为set_major_formatter
直接接受格式字符串本身。
- class matplotlib.ticker.SymmetricalLogLocator(transform=None, subs=None, linthresh=None, base=None)[source]#
基类:
Locator
在零附近线性间隔放置刻度,并在超过阈值后对数间隔放置。
- 参数:
- transform
SymmetricalLogTransform
, 可选 如果设置,定义了对称对数变换的 base 和 linthresh。
- base, linthresh浮点数, 可选
对称对数变换的 base 和 linthresh,如
SymmetricalLogScale
文档中所述。这些参数仅在 transform 未设置时使用。- subs浮点数序列, 默认值: [1]
刻度放置在基数整数次幂的倍数处,即刻度位于
[sub * base**i for i in ... for sub in subs]
。
- transform
备注
必须提供 transform,或者同时提供 base 和 linthresh。