matplotlib.ticker

标记定位和格式

此模块包含用于配置记号定位和格式的类。提供了通用的记号定位器和格式化程序,以及特定于域的自定义定位器和格式化程序。

虽然定位器对主记号和次记号一无所知,但是Axis类使用它们来支持主记号和次记号的定位和格式化。

蜱的定位

定位器类是所有记号定位器的基类。定位器根据数据限制和刻度位置的选择来处理视图限制的自动缩放。一个有用的半自动滴答定位器是 MultipleLocator . 它是用一个基初始化的,例如10,它选择轴限制和该基的倍数刻度。

这里定义的定位器子类是

AutoLocator
MaxNLocator 使用简单的默认值。这是大多数绘图的默认标记定位器。
MaxNLocator
在好的位置找到最多带刻度的间隔数。
LinearLocator
空间从最小到最大均匀滴答。
LogLocator
空间从最小到最大以对数方式标记。
MultipleLocator
刻度和范围是基数的倍数;整数或浮点。
FixedLocator
勾号位置是固定的。
IndexLocator
索引图定位器(如 x = range(len(y))
NullLocator
没有蜱。
SymmetricalLogLocator
与symlog规范一起使用的定位器;类似于 LogLocator 对于超出阈值的部分,如果超出限制,则添加0。
LogitLocator
用于逻辑缩放的定位器。
OldAutoLocator
选择一个 MultipleLocator 并动态重新分配它,以便在导航过程中进行智能勾选。
AutoMinorLocator
当轴为线性且主刻度间距均匀时,次要刻度的定位器。将主要刻度间隔细分为指定数量的次要间隔,根据主要间隔默认为4或5。

有许多定位器专门用于日期位置-请参见 dates 模块。

您可以通过从定位器派生来定义自己的定位器。您必须覆盖 __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 也就是说,默认情况下没有小的滴答声。

滴答格式化

刻度格式由从格式设置工具派生的类控制。格式化程序对单个刻度值进行操作,并将字符串返回到轴。

NullFormatter
刻度上没有标签。
IndexFormatter
从标签列表中设置字符串。
FixedFormatter
手动设置标签的字符串。
FuncFormatter
用户定义的函数设置标签。
StrMethodFormatter
使用字符串 format 方法。
FormatStrFormatter
使用旧样式的sprintf格式字符串。
ScalarFormatter
scalars的默认格式设置工具:自动选择格式字符串。
LogFormatter
日志轴的格式化程序。
LogFormatterExponent
使用设置日志轴值的格式 exponent = log_base(value) .
LogFormatterMathtext
使用设置日志轴值的格式 exponent = log_base(value) 使用数学文本。
LogFormatterSciNotation
使用科学记数法格式化日志轴的值。
LogitFormatter
概率格式化程序。
EngFormatter
用工程符号格式化标签。
PercentFormatter
按百分比设置标签格式。

通过简单地重写 __call__ 方法。格式化程序类可以访问轴视图和数据限制。

要控制主要和次要刻度线标签格式,请使用以下方法之一:

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_formatterset_minor_formatter 同时接受 str 或功能。 str 输入将在内部替换为自动生成的 StrMethodFormatter 与输入 str . 对于功能输入 FuncFormatter 与输入函数一起生成并使用。

主次滴答声 例如设置主要刻度和次要刻度。见 matplotlib.dates 有关使用日期定位器和格式化程序的详细信息和示例的模块。

class matplotlib.ticker.AutoLocator[源代码]

基类:matplotlib.ticker.MaxNLocator

动态查找主要刻度位置。这实际上是 MaxNLocator ,带参数 nbins = 'auto' 和 [steps = [1, 2, 2.5, 5, 10]] .

要了解非公共参数的值,请查看 MaxNLocator .

class matplotlib.ticker.AutoMinorLocator(n=None)[源代码]

基类:matplotlib.ticker.Locator

根据主要刻度的位置动态查找次要刻度位置。刻度必须是线性的,主要刻度线间隔均匀。

n 是主要刻度之间间隔的细分数目;例如,n=2将在主要刻度之间放置单个次要刻度。

如果 n 如果省略或无,则设置为5或4。

tick_values(vmin, vmax)[源代码]

返回给定的定位标记的值 vminvmax .

注解

使用自动为关联的 axis 只需调用定位器实例:

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
class matplotlib.ticker.EngFormatter(unit='', places=None, sep=' ', *, usetex=None, useMathText=None)[源代码]

基类:matplotlib.ticker.Formatter

使用工程前缀格式化轴值,以表示1000的幂加上指定的单位,例如,10 MHz而不是1e7。

参数:
unitstr,默认值:“”

要使用的单位符号,适用于1000次幂的单字母表示。例如,“hz”或“m”。

placesint,默认值:无

显示数字的精度,以小数点后的数字表示(小数点前一到三位数)。如果为“无”,则格式将还原为浮点格式“%g”,最多显示6个 重要的 数字,即 地方 介于0和5之间(包括0和5)。

sepstr,默认值:“”

值和前缀/单位之间使用的分隔符。例如,如果 sep 是“”(默认)和“3.14mV”,如果 sep 是“”。除了默认行为之外,其他一些有用的选项可能是:

  • sep="" 直接将前缀/单位附加到值上;
  • sep="\N{{THIN SPACE}}" (U+2009
  • sep="\N{{NARROW NO-BREAK SPACE}}" (U+202F
  • sep="\N{{NO-BREAK SPACE}}" (U+00A0
用语 : bool, default: rcParams["text.usetex"] (default: False)布尔,默认值:

启用/禁用使用TeX的数学模式在格式化程序中呈现数字。

用语文本 : bool, default: rcParams["axes.formatter.use_mathtext"] (default: False)布尔,默认值:

启用/禁用使用mathtext在格式化程序中呈现数字。

ENG_PREFIXES = {-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'}
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 µ'
get_useMathText()[源代码]
get_usetex()[源代码]
set_useMathText(val)[源代码]
set_usetex(val)[源代码]
property useMathText
property usetex
class matplotlib.ticker.FixedFormatter(seq)[源代码]

基类:matplotlib.ticker.Formatter

仅基于位置而非值返回刻度标签的固定字符串。

注解

FixedFormatter 只能与一起使用 FixedLocator . 否则,标签可能会出现意外的位置。

设置顺序 seq 将用于标签的字符串。

get_offset()[源代码]
set_offset_string(ofs)[源代码]
class matplotlib.ticker.FixedLocator(locs, nbins=None)[源代码]

基类:matplotlib.ticker.Locator

勾号位置是固定的。如果nbins不是none,则可能位置的数组将被子采样,以保持滴答数<=nbins+1。将进行次采样以包括最小绝对值;例如,如果可能性数组中包含零,则可以保证它是所选刻度之一。

set_params(nbins=None)[源代码]

在此定位器中设置参数。

tick_values(vmin, vmax)[源代码]

返回记号的位置。

注解

因为这些值是固定的,所以此方法中不使用vmin和vmax。

class matplotlib.ticker.FormatStrFormatter(fmt)[源代码]

基类:matplotlib.ticker.Formatter

使用旧样式(“%”运算符)格式字符串设置刻度的格式。

格式字符串中应包含单个变量格式(%)。它将应用于勾号的值(而不是位置)。

class matplotlib.ticker.Formatter[源代码]

基类:matplotlib.ticker.TickHelper

基于刻度值和位置创建字符串。

static fix_minus(s)[源代码]

有些类可能希望用适当的unicode符号(U+2212)替换减号的连字符,以确保排版正确。这是一个助手方法,用于在通过启用时执行此类替换 rcParams["axes.unicode_minus"] (default: True) .

format_data(value)[源代码]

返回未指定位置的值的完整字符串表示形式。

format_data_short(value)[源代码]

返回勾号值的短字符串版本。

默认为位置独立的长值。

format_ticks(values)[源代码]

一次返回所有刻度的刻度标签。

get_offset()[源代码]
locs = []
set_locs(locs)[源代码]

设置刻度的位置。

在计算记号标签之前调用此方法,因为某些格式化程序需要知道所有记号位置才能这样做。

class matplotlib.ticker.FuncFormatter(func)[源代码]

基类:matplotlib.ticker.Formatter

使用用户定义的函数进行格式化。

该功能应接受两个输入(一个刻度值 x 一个职位 pos ,并返回包含相应勾号标签的字符串。

get_offset()[源代码]
set_offset_string(ofs)[源代码]
class matplotlib.ticker.IndexFormatter(labels)[源代码]

基类:matplotlib.ticker.Formatter

[Deprecated] 将位置x格式化为最近的第i个标签,其中 i = int(x + 0.5) . 位置 i < 0i > len(list) 没有记号标签。

参数:
labels列表

标签列表。

笔记

3.3 版后已移除.

class matplotlib.ticker.IndexLocator(base, offset)[源代码]

基类:matplotlib.ticker.Locator

在绘制的一些基点的每个倍数上打勾,例如,在每5个点上打勾。假设您正在进行索引绘图,即轴为0,len(数据)。这主要对X记号有用。

每隔放置记号 base 数据点,起始于 抵消 .

set_params(base=None, offset=None)[源代码]

在此定位器内设置参数

tick_values(vmin, vmax)[源代码]

返回给定的定位标记的值 vminvmax .

注解

使用自动为关联的 axis 只需调用定位器实例:

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
class matplotlib.ticker.LinearLocator(numticks=None, presets=None)[源代码]

基类:matplotlib.ticker.Locator

确定勾选位置

第一次调用此函数时,它将尝试设置刻度数,以便进行良好的刻度分区。此后,计时周期的数目将被固定,这样交互式导航将变得更好。

使用预设设置基于LOM的LOC。一个dict映射vmin,vmax->locs

property numticks
set_params(numticks=None, presets=None)[源代码]

在此定位器中设置参数。

tick_values(vmin, vmax)[源代码]

返回给定的定位标记的值 vminvmax .

注解

使用自动为关联的 axis 只需调用定位器实例:

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
view_limits(vmin, vmax)[源代码]

尝试智能地选择视图限制。

class matplotlib.ticker.Locator[源代码]

基类:matplotlib.ticker.TickHelper

确定勾选位置;

请注意,同一定位器不应在多个 Axis 因为定位器存储对轴数据和视图限制的引用。

MAXTICKS = 1000
autoscale()[源代码]

[Deprecated] 自动缩放视图限制。

笔记

3.2 版后已移除.

nonsingular(v0, v1)[源代码]

根据需要调整一个范围以避免出现奇点。

此方法在自动缩放期间调用,使用 (v0, v1) 如果轴包含任何数据,则设置为轴上的数据限制,或 (-inf, +inf) 如果没有。

  • 如果 v0 == v1 (可能达到某个浮点斜率),此方法返回此值周围的扩展间隔。
  • 如果 (v0, v1) == (-inf, +inf) ,此方法返回适当的默认视图限制。
  • 否则, (v0, v1) 未经修改而返回。
pan(numsteps)[源代码]

[Deprecated] pan numticks(可以是正数或负数)

笔记

3.3 版后已移除.

raise_if_exceeds(locs)[源代码]

以警告级别记录,如果 locs 长于 Locator.MAXTICKS .

这将在返回前立即调用 locs__call__ 以防定位器返回大量滴答声,导致Matplotlib内存不足时通知用户。

这个方法的“奇怪”名称可以追溯到它将引发异常而不是发出日志的时候。

refresh()[源代码]

[Deprecated] 根据当前限制刷新内部信息。

笔记

3.3 版后已移除.

set_params(**kwargs)[源代码]

什么都不做,然后发出警告。任何支持此参数的函数都不会调用。

tick_values(vmin, vmax)[源代码]

返回给定的定位标记的值 vminvmax .

注解

使用自动为关联的 axis 只需调用定位器实例:

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
view_limits(vmin, vmax)[源代码]

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

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

zoom(direction)[源代码]

[Deprecated] 在轴上放大/缩小;如果方向>0,则放大,否则缩小。

笔记

3.3 版后已移除.

class matplotlib.ticker.LogFormatter(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[源代码]

基类:matplotlib.ticker.Formatter

用于格式化对数或符号对数刻度刻度的基类。

它可以直接实例化,也可以子类化。

参数:
base浮动,默认值:10。

所有计算中使用的对数底。

labelOnlyBasebool,默认值:False

如果为真,则标签仅以基数的整数倍刻度。对于主要刻度,这通常是正确的;对于次要刻度,这通常是错误的。

minor_thresholds(子集,全部),默认值:(1,0.4)

如果labelonlybase为false,则这两个数字控制不在基数整数倍的刻度的标签;通常这些是较小的刻度。控制参数是轴数据范围的日志。在典型的情况下,基数是10,它是由轴跨越的几十年,所以我们可以称之为“numdec”。如果 numdec <= all ,将标记所有次要刻度。如果 all < numdec <= subset ,则只会标记一个子集的小刻度,以避免拥挤。如果 numdec > subset 然后不会标记任何次要刻度。

linthresh无或浮动,默认值:无

如果使用对称对数刻度,则其 linthresh 必须在此处提供参数。

笔记

这个 set_locs 必须调用方法以启用由 minor_thresholds 参数。

在某些情况下,例如颜色条,主要刻度和次要刻度之间没有区别;刻度位置可以手动设置,也可以由一个定位器设置,该定位器将刻度置于基数的整数倍和中间位置。对于这种情况,使用 minor_thresholds=(np.inf, np.inf) ,以便标记所有刻度。

若要在“LabelOnlyBase”为假时禁用次要刻度的标签,请使用 minor_thresholds=(0, 0) . 这是“经典”样式的默认设置。

实例

若要在视图限制的范围最长为20年时标记次要刻度的子集,并在放大到0.5年或更小时标记所有刻度,请使用 minor_thresholds=(2, 0.5) .

若要在视图限制范围最长为1.5年时标记所有小刻度,请使用 minor_thresholds=(1.5, 1.5) .

base(base)[源代码]

改变 base 用于标签。

警告

应始终匹配用于 LogLocator

format_data(value)[源代码]

返回未指定位置的值的完整字符串表示形式。

format_data_short(value)[源代码]

返回勾号值的短字符串版本。

默认为位置独立的长值。

label_minor(labelOnlyBase)[源代码]

打开或关闭小刻度标签。

参数:
labelOnlyBase布尔

如果为真,则标签仅以基数的整数倍刻度。

set_locs(locs=None)[源代码]

使用轴视图限制控制标记的刻度。

这个 locs 参数在当前算法中被忽略。

class matplotlib.ticker.LogFormatterExponent(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[源代码]

基类:matplotlib.ticker.LogFormatter

使用设置日志轴值的格式 exponent = log_base(value) .

class matplotlib.ticker.LogFormatterMathtext(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[源代码]

基类:matplotlib.ticker.LogFormatter

使用设置日志轴值的格式 exponent = log_base(value) .

class matplotlib.ticker.LogFormatterSciNotation(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[源代码]

基类:matplotlib.ticker.LogFormatterMathtext

按照对数轴中的科学符号设置值的格式。

class matplotlib.ticker.LogLocator(base=10.0, subs=(1.0), numdecs=4, numticks=None)[源代码]

基类:matplotlib.ticker.Locator

确定对数轴的刻度位置

在位置上放置记号:SUB [j] 基础 *i

参数:
subsNone或str或float序列,默认值:(1.0,)

给出放置刻度的基数的整数幂的倍数。默认情况下,滴答数仅为基数的整数倍。允许的字符串值为 'auto''all' 两者都使用基于轴视图限制的算法来确定是否以及如何在基数的整数幂之间放置刻度。用 'auto' ,滴答仅放置在整数幂之间;与 'all' ,包括整数幂。无值等于 'auto' .

base(base)[源代码]

设置日志基数(主刻度间隔 base**i ,i整数)。

nonsingular(vmin, vmax)[源代码]

根据需要调整一个范围以避免出现奇点。

此方法在自动缩放期间调用,使用 (v0, v1) 如果轴包含任何数据,则设置为轴上的数据限制,或 (-inf, +inf) 如果没有。

  • 如果 v0 == v1 (可能达到某个浮点斜率),此方法返回此值周围的扩展间隔。
  • 如果 (v0, v1) == (-inf, +inf) ,此方法返回适当的默认视图限制。
  • 否则, (v0, v1) 未经修改而返回。
set_params(base=None, subs=None, numdecs=None, numticks=None)[源代码]

在此定位器中设置参数。

subs(subs)[源代码]

设置日志缩放的次要刻度间隔 base**i*subs[j] .

tick_values(vmin, vmax)[源代码]

返回给定的定位标记的值 vminvmax .

注解

使用自动为关联的 axis 只需调用定位器实例:

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
view_limits(vmin, vmax)[源代码]

尝试智能地选择视图限制。

class matplotlib.ticker.LogitFormatter(*, use_overline=False, one_half='\x0crac{1}{2}', minor=False, minor_threshold=25, minor_number=6)[源代码]

基类:matplotlib.ticker.Formatter

概率格式化程序(使用数学文本)。

参数:
use_overlinebool,默认值:False

如果x>1/2,且x=1-v,则指示x是否应显示为$overline{v}$。默认值是显示$1-v$。

one_halfstr,默认值:r“frac{1}{2}”

用来表示1/2的字符串。

minorbool,默认值:False

指示格式化程序是否正在格式化次要刻度。基本上不标记次要记号,除非只提供少数记号,否则标记具有大部分空间的相邻记号。请参见其他参数以更改默认行为。

minor_thresholdint,默认值:25

标记某些小蜱虫的最大LOC数。如果minor为False,则此参数无效。

minor_numberint,默认值:6

刻度数在刻度数低于阈值时标记的刻度数。

format_data_short(value)[源代码]

返回勾号值的短字符串版本。

默认为位置独立的长值。

set_locs(locs)[源代码]

设置刻度的位置。

在计算记号标签之前调用此方法,因为某些格式化程序需要知道所有记号位置才能这样做。

set_minor_number(minor_number)[源代码]

设置标记某些次要刻度时要标记的次要刻度数。

参数:
minor_number利息

刻度数在刻度数低于阈值时标记的刻度数。

set_minor_threshold(minor_threshold)[源代码]

设置标记未成年人记号的阈值。

参数:
minor_threshold利息

标记某些次要记号的最大位置数。如果minor为False,则此参数无效。

set_one_half(one_half)[源代码]

设置一半的显示方式。

一个半:str,默认值:r“frac{1}{2}”str,默认值:r“frac{1}{2}”
用来表示1/2的字符串。
use_overline(use_overline)[源代码]

切换显示模式与上划线标签p>1/2。

参数:
use_overlinebool,默认值:False

如果x>1/2,且x=1-v,则指示x是否应显示为$overline{v}$。默认值是显示$1-v$。

class matplotlib.ticker.LogitLocator(minor=False, *, nbins='auto')[源代码]

基类:matplotlib.ticker.MaxNLocator

确定逻辑轴的刻度位置

在logit位置上打勾

参数:
nbinsint或“auto”,可选

刻度数。仅当minor为False时使用。

minorbool,默认值:False

指示此定位器是否用于小记号。

property minor
nonsingular(vmin, vmax)[源代码]

根据需要调整一个范围以避免出现奇点。

此方法在自动缩放期间调用,使用 (v0, v1) 如果轴包含任何数据,则设置为轴上的数据限制,或 (-inf, +inf) 如果没有。

  • 如果 v0 == v1 (可能达到某个浮点斜率),此方法返回此值周围的扩展间隔。
  • 如果 (v0, v1) == (-inf, +inf) ,此方法返回适当的默认视图限制。
  • 否则, (v0, v1) 未经修改而返回。
set_params(minor=None, **kwargs)[源代码]

在此定位器中设置参数。

tick_values(vmin, vmax)[源代码]

返回给定的定位标记的值 vminvmax .

注解

使用自动为关联的 axis 只需调用定位器实例:

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
class matplotlib.ticker.MaxNLocator(*args, **kwargs)[源代码]

基类:matplotlib.ticker.Locator

找到不错的勾选位置,不超过N个在视图范围内。将添加超出限制的位置以支持自动缩放。

参数:
nbinsint或“auto”,默认值:10

最大间隔数;比最大刻度数少一个。如果字符串'auto',箱子的数量将根据轴的长度自动确定。

steps类似数组,可选

以1开头,以10结尾的漂亮数字序列;例如, [1, 2, 4,5, 10] ,其中值为可接受的刻度倍数。例如,20、40、60是一组可接受的刻度,0.4、0.6、0.8也是一组可接受的刻度,因为它们是2的倍数。但是,不允许30、60、90,因为步骤列表中不显示3。

integerbool,默认值:False

如果为真,则记号将只接受整数值,至少提供 min_n_ticks 在视图限制内找到整数。

symmetricbool,默认值:False

如果为真,自动缩放将导致一个与零对称的范围。

prune{'lower','upper','both',None},默认值:None

删除边刻度--用于堆叠或组合绘图,其中一个轴的上刻度与上面的轴的下刻度重叠,主要是在 rcParams["axes.autolimit_mode"] (default: 'data') 是 'round_numbers' . 如果 prune=='lower' ,将删除最小的勾号。如果 prune == 'upper' ,将删除最大的勾号。如果 prune == 'both' ,将删除最大和最小的刻度。如果 修剪None ,不会删除任何刻度。

min_n_ticksint,默认值:2

放松 梯度方向数整数 约束(如果需要)以获得最小刻度数。

default_params = {'integer': False, 'min_n_ticks': 2, 'nbins': 10, 'prune': None, 'steps': None, 'symmetric': False}
set_params(**kwargs)[源代码]

设置此定位器的参数。

参数:
nbinsint或“auto”,可选

看见 MaxNLocator

steps类似数组,可选

看见 MaxNLocator

integer可选的布尔

看见 MaxNLocator

symmetric可选的布尔

看见 MaxNLocator

prune{'lower','upper','both',None},可选

看见 MaxNLocator

min_n_ticks可选的

看见 MaxNLocator

tick_values(vmin, vmax)[源代码]

返回给定的定位标记的值 vminvmax .

注解

使用自动为关联的 axis 只需调用定位器实例:

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
view_limits(dmin, dmax)[源代码]

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

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

class matplotlib.ticker.MultipleLocator(base=1.0)[源代码]

基类:matplotlib.ticker.Locator

在视图间隔内为基数的每个整数倍数设置一个勾号。

set_params(base)[源代码]

在此定位器中设置参数。

tick_values(vmin, vmax)[源代码]

返回给定的定位标记的值 vminvmax .

注解

使用自动为关联的 axis 只需调用定位器实例:

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
view_limits(dmin, dmax)[源代码]

将视图限制设置为包含数据的最接近的基数倍数。

class matplotlib.ticker.NullFormatter[源代码]

基类:matplotlib.ticker.Formatter

始终返回空字符串。

class matplotlib.ticker.NullLocator[源代码]

基类:matplotlib.ticker.Locator

无蜱

tick_values(vmin, vmax)[源代码]

返回记号的位置。

注解

因为值为空,所以此方法中不使用vmin和vmax。

class matplotlib.ticker.OldAutoLocator(*args, **kwargs)[源代码]

基类:matplotlib.ticker.Locator

[Deprecated] 在自动缩放时,这个类选择最好的多个选择器来设置视图限制和勾号LOC。

笔记

3.3 版后已移除.

get_locator(d)[源代码]

根据距离选择最佳定位器 d .

tick_values(vmin, vmax)[源代码]

返回给定的定位标记的值 vminvmax .

注解

使用自动为关联的 axis 只需调用定位器实例:

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
view_limits(vmin, vmax)[源代码]

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

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

class matplotlib.ticker.OldScalarFormatter(*args, **kwargs)[源代码]

基类:matplotlib.ticker.Formatter

[Deprecated] 勾号位置是一个普通的老数字。

笔记

3.3 版后已移除.

class matplotlib.ticker.PercentFormatter(xmax=100, decimals=None, symbol='%', is_latex=False)[源代码]

基类:matplotlib.ticker.Formatter

将数字格式化为百分比。

参数:
xmax浮动

确定如何将数字转换为百分比。 xmax 是对应于100%的数据值。百分比计算为 x / xmax * 100 . 因此,如果数据已经被缩放为百分比, xmax 将是100。另一个常见的情况是 xmax 是1。

decimals无或int

小数点后的小数位数。如果 None (默认),该数字将自动计算。

symbolSTR或无

将附加到标签的字符串。它可能是 None 或为空,表示不应使用符号。 Latex 特殊字符在 符号 无论何时启用 Latex 模式,除非 is_latexTrue .

is_latex布尔

如果 ,保留 Latex 字符 符号 将被逃脱。

convert_to_pct(x)[源代码]
format_pct(x, display_range)[源代码]

将数字格式化为具有正确小数位数的百分比,并添加百分比符号(如果有)。

如果 self.decimalsNone ,小数点后的位数根据 display_range 轴的位置如下:

display_range 小数 样品
> 50 0 x = 34.5 = 35%
> 5 1 x = 34.5 = 34.5%
>0.5 2 x = 34.5 = 34.50%

这种方法不适用于微小的轴范围或非常大的轴范围。它假定图表上的值是以合理比例显示的百分比。

property symbol

配置为字符串的百分比符号。

如果 Latex 通过 rcParams["text.usetex"] (default: False) ,特殊字符 {{'#', '$', '%', '&', '~', '_', '^', '\', '{{', '}}'}} 在字符串中自动转义。

class matplotlib.ticker.ScalarFormatter(useOffset=None, useMathText=None, useLocale=None)[源代码]

基类:matplotlib.ticker.Formatter

将刻度值格式化为数字。

参数:
使用偏移 : bool or float, default: rcParams["axes.formatter.useoffset"] (default: True)布尔或浮点,默认值:

是否使用偏移符号。看到了吗 set_useOffset .

用语文本 : bool, default: rcParams["axes.formatter.use_mathtext"] (default: False)布尔,默认值:

是否使用花哨的数学格式。看到了吗 set_useMathText .

用户名 : bool, default: rcParams["axes.formatter.use_locale"] (default: False) .布尔,默认值:

是否对小数和正号使用区域设置。看到了吗 set_useLocale .

笔记

除上述参数外,还可以通过 set_scientificset_powerlimits

偏移记数法和科学记数法

偏移记数法和科学记数法乍一看很相似。两者都从格式化的记号值中分割一些信息,并将其显示在轴的末端。

  • 科学记数法将数量级分开,即乘法比例因子,例如。 1e6 .
  • 偏移符号分隔一个加性常数,例如。 +1e6 . 偏移符号标签总是以 +- 符号,因此可与数量级标签区分开来。

以下是x极限图 1_000_0001_000_010 说明了不同的格式。注意x轴右边缘的标签。

(Source code _, pngpdf

../_images/ticker_api-1.png
format_data(value)[源代码]

返回未指定位置的值的完整字符串表示形式。

format_data_short(value)[源代码]

返回勾号值的短字符串版本。

默认为位置独立的长值。

get_offset()[源代码]

返回科学记数法,加上偏移量。

get_useLocale()[源代码]

返回区域设置是否用于格式化。

get_useMathText()[源代码]

返回是否使用花哨的数学格式。

get_useOffset()[源代码]

返回偏移量表示法的自动模式是否处于活动状态。

如果 set_useOffset(True) ;如果设置了显式偏移量,则返回False,例如。 set_useOffset(1000) .

set_locs(locs)[源代码]

设置刻度的位置。

在计算记号标签之前调用此方法,因为某些格式化程序需要知道所有记号位置才能这样做。

set_powerlimits(lims)[源代码]

设置科学记数法的大小阈值。

参数:
lims(内景,内景)

元组 (min_exp, max_exp) 包含决定切换阈值的10的幂。对于表示为 \(a \times 10^\mathrm{{exp}}\) :math:`1 <= |a| < 10 ,如果 exp <= min_expexp >= max_exp .

默认限制由 rcParams["axes.formatter.limits"] (default: [-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_scientific(b)[源代码]

打开或关闭科学记数法。

set_useLocale(val)[源代码]

设置是否对小数和正号使用区域设置。

参数:
val布尔或无

None 重置为 rcParams["axes.formatter.use_locale"] (default: False) .

set_useMathText(val)[源代码]

设置是否使用花哨的数学格式。

如果激活,科学记数法的格式为 \(1.2 \times 10^3\) .

参数:
val布尔或无

None 重置为 rcParams["axes.formatter.use_mathtext"] (default: False) .

set_useOffset(val)[源代码]

设置是否使用偏移符号。

格式化值与其范围相比较大的一组数字时,格式化程序可以分离一个加法常量。这可以缩短格式化的数字,以便它们在轴上绘制时不太可能重叠。

参数:
valbool或float
  • 如果为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) ;如果设置了显式偏移量,则返回False,例如。 set_useOffset(1000) .

class matplotlib.ticker.StrMethodFormatter(fmt)[源代码]

基类:matplotlib.ticker.Formatter

使用新样式的格式字符串(由 str.format )设置勾号格式。

必须标记用于记号值的字段 x 必须标记用于记号位置的字段 pos .

class matplotlib.ticker.SymmetricalLogLocator(transform=None, subs=None, linthresh=None, base=None)[源代码]

基类:matplotlib.ticker.Locator

确定对称原木轴的记号位置。

参数:
转型SymmetricalLogTransform 可选对称变换,可选

如果设置,则定义 base直线加速器 symlog转换的。

底座,林弗瑞什可选浮动

这个 base直线加速器 symlog转换的 SymmetricalLogScale . 这些参数仅在以下情况下使用 转型 未设置。

subs浮动顺序,默认值: [1]

小数点所在基的整数幂的倍数,即小数点所在的基 [sub * base**i for i in ... for sub in subs] .

笔记

要么 转型 ,或两者兼而有之 base直线加速器 ,必须给出。

set_params(subs=None, numticks=None)[源代码]

在此定位器中设置参数。

tick_values(vmin, vmax)[源代码]

返回给定的定位标记的值 vminvmax .

注解

使用自动为关联的 axis 只需调用定位器实例:

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
view_limits(vmin, vmax)[源代码]

尝试智能地选择视图限制。

class matplotlib.ticker.TickHelper[源代码]

基类:object

axis = None
create_dummy_axis(**kwargs)[源代码]
set_axis(axis)[源代码]
set_bounds(vmin, vmax)[源代码]
set_data_interval(vmin, vmax)[源代码]
set_view_interval(vmin, vmax)[源代码]
Inheritance diagram of matplotlib.ticker