matplotlib.ticker#

勾选定位和格式化#

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

尽管定位器对主要或次要刻度一无所知,但 Axis 类使用它们来支持主要和次要刻度的定位和格式化。

打勾定位#

Locator 类是所有刻度定位器的基类。定位器根据数据限制和刻度位置的选择处理视图限制的自动缩放。一个有用的半自动刻度定位器是 MultipleLocator. 它使用一个基数(例如 10)进行初始化,并选择轴限制和作为该基数倍数的刻度。

这里定义的定位器子类是:

AutoLocator

MaxNLocator具有简单的默认值。这是大多数绘图的默认刻度定位器。

MaxNLocator

在不错的位置查找带有刻度的最大间隔数。

LinearLocator

空间从最小到最大均匀滴答。

LogLocator

空间以对数方式从最小值到最大值。

MultipleLocator

刻度和范围是基数的倍数;整数或浮点数。

FixedLocator

蜱的位置是固定的。

IndexLocator

索引图的定位器(例如,哪里 )。x = range(len(y))

NullLocator

没有蜱虫。

SymmetricalLogLocator

与 symlog 规范一起使用的定位器;像 LogLocator阈值之外的部分一样工作,如果在限制范围内,则添加 0。

AsinhLocator

与 asinh 规范一起使用的定位器,尝试大致均匀地间隔刻度。

LogitLocator

用于 logit 缩放的定位器。

AutoMinorLocator

当轴为线性且主要刻度均匀分布时,次要刻度的定位器。将主要刻度间隔细分为指定数量的次要间隔,根据主要间隔默认为 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,即默认情况下没有次要标记。

笔记

Locator实例不应与多个 Axisor一起使用Axes。所以而不是:

locator = MultipleLocator(5)
ax.xaxis.set_major_locator(locator)
ax2.xaxis.set_major_locator(locator)

请改为执行以下操作:

ax.xaxis.set_major_locator(MultipleLocator(5))
ax2.xaxis.set_major_locator(MultipleLocator(5))

勾选格式#

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

NullFormatter

刻度上没有标签。

FixedFormatter

为标签手动设置字符串。

FuncFormatter

用户定义的函数设置标签。

StrMethodFormatter

使用字符串format方法。

FormatStrFormatter

使用旧式 sprintf 格式字符串。

ScalarFormatter

标量的默认格式化程序:自动选择格式字符串。

LogFormatter

日志轴的格式化程序。

LogFormatterExponent

使用 格式化对数轴的值 。exponent = log_base(value)

LogFormatterMathtext

使用数学文本格式化对数轴的值 。exponent = log_base(value)

LogFormatterSciNotation

使用科学计数法格式化对数轴的值。

LogitFormatter

概率格式化程序。

EngFormatter

以工程符号格式化标签。

PercentFormatter

将标签格式化为百分比。

__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_formatterset_minor_formatter接受一个str或函数。strinput 将在内部替换为StrMethodFormatter使用 input 自动生成的str。对于函数输入,FuncFormatter将生成并使用带有输入函数的a。

有关设置主要和次要刻度的示例,请参阅主要和次要刻度有关使用日期定位器和格式化程序的更多信息和示例,请参阅matplotlib.dates模块。

matplotlib.ticker。AsinhLocator ( linear_width , numticks = 11 , symthresh = 0.2 , base = 10 , subs = None ) [来源] #

基地:Locator

专门用于反正弦刻度的轴刻度定位器

这不太可能在AsinhScale课堂之外有任何用途。

笔记

此 API 是临时的,将来可能会根据早期用户反馈进行修订。

参数
线性宽度浮动

定义准线性区域范围的比例参数。

numticks int,默认值:11

适合整个轴的主要刻度的近似数量

symthresh浮点数,默认值:0.2

在分数阈值之下,覆盖近似于零对称的范围的数据将具有完全对称的刻度。

基本整数,默认值:10

用于在对数刻度上舍入刻度位置的数字基数。如果小于一,则四舍五入到最接近的 10 次幂的整数倍。

元组,默认值:无

基数的倍数,通常用于次要刻度,例如当基数=10 时的 (2, 5)。

set_params ( numticks = None , symthresh = None , base = None , subs = None ) [来源] #

在此定位器中设置参数。

tick_values ( vmin , vmax ) [来源] #

返回给定vminvmax的定位刻度值。

笔记

要使用自动为关联定义的 vmin 和 vmax 值获取刻度位置,axis只需调用 Locator 实例:

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
matplotlib.ticker。自动定位器[来源] #

基地:MaxNLocator

动态找到主要的刻度位置。这实际上是 的子类MaxNLocator,参数nbins = 'auto'steps = [1, 2, 2.5, 5, 10]

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

matplotlib.ticker。AutoMinorLocator ( n = None ) [来源] #

基地:Locator

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

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

如果n被省略或为 None,它将被设置为 5 或 4。

tick_values ( vmin , vmax ) [来源] #

返回给定vminvmax的定位刻度值。

笔记

要使用自动为关联定义的 vmin 和 vmax 值获取刻度位置,axis只需调用 Locator 实例:

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

基地:Formatter

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

参数
单位str,默认:""

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

放置int,默认值:无

显示数字的精度,以小数点后的位数指定(小数点前会有一到三位数)。如果为无,则格式回退到浮点格式“%g”,它最多显示 6 个有效数字,即位置的等效值在 0 和 5(含)之间变化。

sep str,默认值:“”

在值和前缀/单位之间使用的分隔符。例如,如果sep是“”(默认),则得到“3.14 mV”,如果是“”,则得到“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)。

usetex布尔值,默认值:(rcParams["text.usetex"]默认值False:)

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

useMathText bool,默认值:(rcParams["axes.formatter.use_mathtext"]默认值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 ) [来源] #
属性 useMathText #
属性 usetex #
matplotlib.ticker。FixedFormatter ( seq ) [来源] #

基地:Formatter

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

笔记

FixedFormatter只能与FixedLocator. 否则,标签可能会出现在意想不到的位置。

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

get_offset ( ) [来源] #
set_offset_string ( ofs ) [来源] #
matplotlib.ticker。FixedLocator ( locs , nbins = None ) [来源] #

基地:Locator

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

set_params ( nbins = None ) [来源] #

在此定位器中设置参数。

tick_values ( vmin , vmax ) [来源] #

返回刻度的位置。

笔记

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

matplotlib.ticker。FormatStrFormatter ( fmt ) [来源] #

基地:Formatter

使用旧式('%' 运算符)格式字符串来格式化刻度。

格式字符串中应该有一个变量格式 (%)。它将应用于刻度的值(而不是位置)。

负数值将使用破折号,而不是 Unicode 减号;使用 mathtext 通过用 $ 包装格式说明符来获得 Unicode 减号(例如“$%g$”)。

matplotlib.ticker。格式化程序[来源] #

基地:TickHelper

根据刻度值和位置创建一个字符串。

静态 fix_minus ( s ) [来源] #

某些类可能希望用正确的 Unicode 符号 (U+2212) 替换减号的连字符,以确保排版正确。这是通过 rcParams["axes.unicode_minus"](默认值:)启用时执行此类替换的辅助方法True

format_data () [来源] #

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

format_data_short () [来源] #

返回刻度值的短字符串版本。

默认为与位置无关的 long 值。

format_ticks () [来源] #

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

get_offset ( ) [来源] #
位置= [] #
set_locs ( locs ) [来源] #

设置刻度的位置。

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

matplotlib.ticker。FuncFormatter ( func ) [来源] #

基地:Formatter

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

该函数应接受两个输入(一个刻度值x和一个位置pos),并返回一个包含相应刻度标签的字符串。

get_offset ( ) [来源] #
set_offset_string ( ofs ) [来源] #
matplotlib.ticker。IndexLocator ( base , offset ) [来源] #

基地:Locator

在绘制的某个基数点的每个倍数上打一个勾,例如,在每 5 个点上。假设您正在做索引绘图;即,轴为0,len(data)。这主要对 x 刻度有用。

从offset开始在每个基本数据点放置刻度。

set_params ( base = None , offset = None ) [source] #

在此定位器中设置参数

tick_values ( vmin , vmax ) [来源] #

返回给定vminvmax的定位刻度值。

笔记

要使用自动为关联定义的 vmin 和 vmax 值获取刻度位置,axis只需调用 Locator 实例:

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
matplotlib.ticker。LinearLocator ( numticks = None , presets = None ) [source] #

基地:Locator

确定刻度位置

第一次调用此函数时,它将尝试设置刻度数以进行良好的刻度分区。此后刻度数将被固定,以便交互式导航会很好

使用预设来设置基于 lom 的 locs。一个字典映射 vmin, vmax->locs

属性 numticks #
set_params ( numticks = None , presets = None ) [来源] #

在此定位器中设置参数。

tick_values ( vmin , vmax ) [来源] #

返回给定vminvmax的定位刻度值。

笔记

要使用自动为关联定义的 vmin 和 vmax 值获取刻度位置,axis只需调用 Locator 实例:

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

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

matplotlib.ticker。定位器[来源] #

基地:TickHelper

确定刻度位置;

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

MAXTICKS = 1000 #
nonsingular ( v0 , v1 ) [来源] #

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

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

  • 如果(可能达到某个浮点斜率),此方法返回围绕此值的扩展间隔。v0 == v1

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

  • 否则,原样返回。(v0, v1)

raise_if_exceeds ( locs ) [来源] #

如果locs长于Locator.MAXTICKS.

这旨在在返回locs from 之前立即调用__call__以通知用户,以防他们的 Locator 返回大量刻度,导致 Matplotlib 内存不足。

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

set_params ( ** kwargs ) [来源] #

什么都不做,发出警告。任何不支持 set_params() 函数的定位器类都会调用它。

tick_values ( vmin , vmax ) [来源] #

返回给定vminvmax的定位刻度值。

笔记

要使用自动为关联定义的 vmin 和 vmax 值获取刻度位置,axis只需调用 Locator 实例:

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

选择从 vmin 到 vmax 的范围。

子类应覆盖此方法以更改定位器行为。

matplotlib.ticker。LogFormatter ( base = 10.0 , labelOnlyBase = False , minor_thresholds = None , linthresh = None ) [来源] #

基地:Formatter

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

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

参数
基本浮点数,默认值:10。

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

labelOnlyBase布尔值,默认值:False

如果为 True,则标签仅在基数的整数次方处打勾。这对于主要刻度通常为 True,对于次要刻度通常为 False。

次要阈值(子集,全部),默认值:(1, 0.4)

如果 labelOnlyBase 为 False,这两个数字控制不以基数为整数次方的刻度的标记;通常这些是次要刻度。控制参数是轴数据范围的日志。在基数为 10 的典型情况下,它是轴跨越的十进制数,因此我们可以将其称为“numdec”。如果,将标记所有次要刻度。如果,则仅标记小刻度的子集,以避免拥挤。如果这样,则不会标记小刻度。numdec <= allall < numdec <= subsetnumdec > subset

linthresh无或浮动,默认值:无

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

笔记

set_locs必须调用该方法以启用由minor_thresholds参数控制的子集逻辑。

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

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

例子

要在视图限制跨越 2 个十进制时标记小刻度的子集,并且在放大到 0.5 个十进制或更小的时候标记所有刻度,请使用.minor_thresholds=(2, 0.5)

要在视图限制跨越 1.5 个十年时标记所有次要刻度,请使用.minor_thresholds=(1.5, 1.5)

基础(基础) [来源] #

[已弃用] 更改标签的基础

警告

应始终匹配用于LogLocator

笔记

3.6 版后已弃用:改用 set_base()。

format_data () [来源] #

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

format_data_short () [来源] #

返回刻度值的短字符串版本。

默认为与位置无关的 long 值。

label_minor ( labelOnlyBase ) [来源] #

[已弃用] 打开或关闭次要刻度标记。

参数
labelOnlyBase布尔值

如果为 True,则标签仅在基数的整数次方处打勾。

笔记

3.6 版后已弃用:改用 set_label_minor()。

set_base ( base ) [来源] #

更改标签的基础

警告

应始终匹配用于LogLocator

set_label_minor ( labelOnlyBase ) [来源] #

打开或关闭次要刻度标记。

参数
labelOnlyBase布尔值

如果为 True,则标签仅在基数的整数次方处打勾。

set_locs ( locs = None ) [来源] #

使用轴视图限制来控制标记哪些刻度。

在本算法中忽略locs参数。

matplotlib.ticker。LogFormatterExponent ( base = 10.0 , labelOnlyBase = False , minor_thresholds = None , linthresh = None ) [来源] #

基地:LogFormatter

使用 格式化对数轴的值。exponent = log_base(value)

matplotlib.ticker。LogFormatterMathtext ( base = 10.0 , labelOnlyBase = False , minor_thresholds = None , linthresh = None ) [来源] #

基地:LogFormatter

使用 格式化对数轴的值。exponent = log_base(value)

matplotlib.ticker。LogFormatterSciNotation ( base = 10.0 , labelOnlyBase = False , minor_thresholds = None , linthresh = None ) [来源] #

基地:LogFormatterMathtext

在对数轴中按照科学计数法格式化值。

matplotlib.ticker。LogLocator ( base = 10.0 , subs = (1.0,) , numdecs = 4 , numticks = None ) [来源] #

基地:Locator

确定对数轴的刻度位置

在位置上打勾:subs[j] * base**i

参数
基本浮点数,默认值:10.0

使用的日志的基数,因此主要刻度放置在 base**n, n 整数处。

subs None 或 str 或 float 序列,默认值:(1.0,)

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

numticks无或整数,默认值:无

给定轴上允许的最大刻度数。None只要此定位器已使用 分配给轴 ,默认值就会尝试智能选择get_tick_space,否则将回退到 9。

基础(基础) [来源] #

[弃用]设置日志基数(主要刻度间隔base**i,i整数)。

笔记

3.6 版后已弃用:改用 set_params(base=...)。

nonsingular ( vmin , vmax ) [source] #

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

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

  • 如果(可能达到某个浮点斜率),此方法返回围绕此值的扩展间隔。v0 == v1

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

  • 否则,原样返回。(v0, v1)

set_params ( base = None , subs = None , numdecs = None , numticks = None ) [来源] #

在此定位器中设置参数。

潜艇(潜艇) [来源] #

[已弃用] 为每个base**i*subs[j].

笔记

3.6 版后已弃用:改用 set_params(subs=...)。

tick_values ( vmin , vmax ) [来源] #

返回给定vminvmax的定位刻度值。

笔记

要使用自动为关联定义的 vmin 和 vmax 值获取刻度位置,axis只需调用 Locator 实例:

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

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

matplotlib.ticker。LogitFormatter ( * , use_overline = False , one_half = '\\frac{1}{2}' , minor = False , minor_threshold = 25 , minor_number = 6 ) [来源] #

基地:Formatter

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

参数
use_overline布尔值,默认值:False

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

one_half str,默认值:r"frac{1}{2}"

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

次要布尔值,默认值:False

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

次要阈值int,默认值:25

标记一些次要刻度的最大 loc 数。如果minor 为False,则此参数无效。

次要数字int,默认值:6

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

format_data_short () [来源] #

返回刻度值的短字符串版本。

默认为与位置无关的 long 值。

set_locs ( locs ) [来源] #

设置刻度的位置。

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

set_minor_number ( minor_number ) [来源] #

当标记一些次要刻度时,设置要标记的次要刻度数。

参数
次要号码int

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

set_minor_threshold ( minor_threshold ) [来源] #

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

参数
次要阈值int

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

set_one_half ( one_half ) [来源] #

设置一半的显示方式。

one_half str,默认值:r"frac{1}{2}"

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

use_overline ( use_overline ) [来源] #

切换带有上划线的显示模式,用于标记 p>1/2。

参数
use_overline布尔值,默认值:False

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

matplotlib.ticker。LogitLocator ( minor = False , * , nbins = 'auto' ) [来源] #

基地:MaxNLocator

确定 logit 轴的刻度位置

在 logit 位置上打勾

参数
nbins int 或 'auto',可选

刻度数。仅在次要为 False 时使用。

次要布尔值,默认值:False

指示此定位器是否用于次要刻度。

财产 次要#
nonsingular ( vmin , vmax ) [source] #

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

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

  • 如果(可能达到某个浮点斜率),此方法返回围绕此值的扩展间隔。v0 == v1

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

  • 否则,原样返回。(v0, v1)

set_params ( minor = None , ** kwargs ) [来源] #

在此定位器中设置参数。

tick_values ( vmin , vmax ) [来源] #

返回给定vminvmax的定位刻度值。

笔记

要使用自动为关联定义的 vmin 和 vmax 值获取刻度位置,axis只需调用 Locator 实例:

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
matplotlib.ticker。MaxNLocator ( nbins = None , ** kwargs ) [来源] #

基地:Locator

在视图范围内找到不超过 N 的漂亮刻度位置。添加超出限制的位置以支持自动缩放。

参数
nbins int 或 'auto',默认值:10

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

steps类数组,可选

从 1 开始到 10 结束的漂亮数字序列;例如,[1, 2, 4, 5, 10],其中的值是可接受的刻度倍数。即,例如,20、40、60 是可接受的刻度集,0.4、0.6、0.8 也是如此,因为它们是 2 的倍数。但是,30、60、90 是不允许的,因为 3 没有出现在步骤列表。

整数布尔值,默认值:False

如果为 True,则刻度将仅采用整数值,前提是在视图限制内至少 找到min_n_ticks整数。

对称布尔值,默认值:False

如果为 True,自动缩放将导致范围关于零对称。

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

删除边缘刻度 - 对于堆叠或组合图很有用,其中一个轴的上部刻度与其上方轴的下部刻度重叠,主要是当rcParams["axes.autolimit_mode"](默认值:)'data'为 时'round_numbers'。如果prune=='lower',最小的勾号将被删除。如果,将删除最大的刻度。如果,将删除最大和最小刻度。如果pruneNone,则不会删除任何刻度。prune == 'upper'prune == 'both'

min_n_ticks int,默认值:2

如有必要,放宽nbin整数约束以获得此最小刻度数。

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

设置此定位器的参数。

参数
nbins int 或 'auto',可选

MaxNLocator

steps类数组,可选

MaxNLocator

整数布尔值,可选

MaxNLocator

对称布尔,可选

MaxNLocator

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

MaxNLocator

min_n_ticks int,可选

MaxNLocator

tick_values ( vmin , vmax ) [来源] #

返回给定vminvmax的定位刻度值。

笔记

要使用自动为关联定义的 vmin 和 vmax 值获取刻度位置,axis只需调用 Locator 实例:

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

选择从 vmin 到 vmax 的范围。

子类应覆盖此方法以更改定位器行为。

matplotlib.ticker。MultipleLocator ( base = 1.0 ) [source] #

基地:Locator

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

set_params ( base ) [来源] #

在此定位器中设置参数。

tick_values ( vmin , vmax ) [来源] #

返回给定vminvmax的定位刻度值。

笔记

要使用自动为关联定义的 vmin 和 vmax 值获取刻度位置,axis只需调用 Locator 实例:

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

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

matplotlib.ticker。NullFormatter [来源] #

基地:Formatter

始终返回空字符串。

matplotlib.ticker。NullLocator [来源] #

基地:Locator

没有蜱虫

tick_values ( vmin , vmax ) [来源] #

返回刻度的位置。

笔记

由于值为 Null,因此此方法中不使用 vmin 和 vmax。

matplotlib.ticker。PercentFormatter ( xmax = 100 , decimals = None , symbol = '%' , is_latex = False ) [来源] #

基地:Formatter

将数字格式化为百分比。

参数
xmax浮动

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

小数None 或 int

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

符号str 或无

将附加到标签的字符串。它可以是 None或空,表示不应使用符号。每当启用乳胶模式时,LaTeX 特殊字符都会在符号中转义,除非is_latexTrue

is_latex布尔值

如果False ,符号中保留的 LaTeX 字符将被转义。

convert_to_pct ( x ) [来源] #
format_pct ( x , display_range ) [来源] #

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

如果self.decimals是,则根据轴的display_rangeNone设置小数点后的位数如下:

显示范围

小数点

样本

>50

0

x = 34.5=> 35%

>5

1

x = 34.5=> 34.5%

>0.5

2

x = 34.5=> 34.50%

...

...

...

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

属性 符号#

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

如果通过rcParams["text.usetex"](默认值:)启用 LaTeX False,则字符串中的特殊字符 会自动转义。{'#', '$', '%', '&', '~', '_', '^', '\', '{', '}'}

matplotlib.ticker。ScalarFormatter ( useOffset = None , useMathText = None , useLocale = None ) [source] #

基地:Formatter

将刻度值格式化为数字。

参数
useOffset bool 或 float,默认值:(rcParams["axes.formatter.useoffset"]默认值True:)

是否使用偏移表示法。见set_useOffset

useMathText bool,默认值:(rcParams["axes.formatter.use_mathtext"]默认值False:)

是否使用花哨的数学格式。见set_useMathText

useLocale bool,默认值:(rcParams["axes.formatter.use_locale"]默认值:) False

是否对十进制符号和正号使用区域设置。见set_useLocale

笔记

除了上述参数之外,科学与浮点表示的格式可以通过set_scientificset_powerlimits) 进行配置。

偏移记数法和科学记数法

偏移记数法和科学记数法乍一看非常相似。两者都从格式化的刻度值中分离出一些信息,并将其显示在轴的末尾。

  • 科学记数法将数量级分开,即乘法比例因子,例如1e6

  • 偏移量表示法分隔一个加法常数,例如+1e6。偏移符号标签总是以一个+-符号作为前缀,因此可以与数量级标签区分开来。

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

源代码png

../_images/ticker_api-1.png
format_data () [来源] #

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

format_data_short () [来源] #

返回刻度值的短字符串版本。

默认为与位置无关的 long 值。

get_offset ( ) [来源] #

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

get_useLocale ( ) [来源] #

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

get_useMathText ( ) [来源] #

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

get_useOffset ( ) [来源] #

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

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

set_locs ( locs ) [来源] #

设置刻度的位置。

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

set_powerlimits ( lims ) [来源] #

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

参数
lims (int, int)

一个元组(min_exp, max_exp)包含确定切换阈值的 10 的幂。对于可表示为的数字 \(a \times 10^\mathrm{exp}\)\(1 <= |a| < 10\), 如果或 将使用科学计数法。exp <= min_expexp >= 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_scientific ( b ) [来源] #

打开或关闭科学记数法。

set_useLocale ( val ) [来源] #

设置是否使用十进制符号和正号的区域设置。

参数
val布尔或无

重置为rcParams["axes.formatter.use_locale"](默认值:False)。

set_useMathText ( val ) [来源] #

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

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

参数
val布尔或无

重置为rcParams["axes.formatter.use_mathtext"](默认值:False)。

set_useOffset ( val ) [来源] #

设置是否使用偏移表示法。

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

参数
val布尔型或浮点型
  • 如果为 False,则不要使用偏移表示法。

  • 如果为真(=自动模式),如果它可以使残差数显着更短,则使用偏移表示法。确切的行为由rcParams["axes.formatter.offset_threshold"](默认值:)控制4

  • 如果是数字,则强制给定值的偏移量。

例子

使用主动偏移表示法,值

100_000, 100_002, 100_004, 100_006, 100_008

将被格式化为加上一个偏移量,它被写入轴的边缘。0, 2, 4, 6, 8+1e5

属性 useLocale #

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

属性 useMathText #

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

属性 useOffset #

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

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

matplotlib.ticker。StrMethodFormatter ( fmt ) [来源] #

基地:Formatter

使用新样式的格式字符串(由 使用str.format)来格式化刻度。

用于刻度值的字段必须标记为x并且用于刻度位置的字段必须标记为pos

matplotlib.ticker。SymmetricalLogLocator ( transform = None , subs = None , linthresh = None , base = None ) [来源] #

基地:Locator

确定对称对数轴的刻度位置。

参数
变换SymmetricalLogTransform,可选

如果设置,则定义 symlog 转换的基础linthresh

底座,linthresh浮动,可选

symlog 转换的基础linthresh,如SymmetricalLogScale. 这些参数仅在 未设置转换时使用。

浮点数的子序列,默认:[1]

刻度所在的基数的整数幂的倍数,即刻度位于 .[sub * base**i for i in ... for sub in subs]

笔记

必须给出transformbaselinthresh 。

set_params ( subs = None , numticks = None ) [来源] #

在此定位器中设置参数。

tick_values ( vmin , vmax ) [来源] #

返回给定vminvmax的定位刻度值。

笔记

要使用自动为关联定义的 vmin 和 vmax 值获取刻度位置,axis只需调用 Locator 实例:

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

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

matplotlib.ticker。TickHelper [来源] #

基地:object

=#
create_dummy_axis ( ** kwargs ) [来源] #
set_axis () [来源] #
set_bounds ( vmin , vmax ) [来源] #

[已弃用]

笔记

3.5 版后已弃用:使用Axis.set_view_intervalandAxis.set_data_interval代替。

set_data_interval ( vmin , vmax ) [来源] #

[已弃用]

笔记

3.5 版后已弃用:改为使用Axis.set_data_interval

set_view_interval ( vmin , vmax ) [来源] #

[已弃用]

笔记

3.5 版后已弃用:改为使用Axis.set_view_interval

matplotlib.ticker的继承图