matplotlib.ticker#
Tick-Positionierung und -Formatierung#
Dieses Modul enthält Klassen zur Konfiguration von Tick-Positionierung und -Formatierung. Generische Tick-Locators und -Formatierer werden bereitgestellt, ebenso wie domänenspezifische benutzerdefinierte.
Obwohl die Locators nichts über Haupt- oder Nebenticks wissen, werden sie von der Axis-Klasse verwendet, um die Positionierung und Formatierung von Haupt- und Nebenticks zu unterstützen.
Tick-Positionierung#
Die Locator-Klasse ist die Basisklasse für alle Tick-Locators. Die Locators kümmern sich um die automatische Skalierung der Ansichtsgrenzen basierend auf den Datenlimits und die Auswahl der Tick-Positionen. Ein nützlicher semi-automatischer Tick-Locator ist MultipleLocator. Er wird mit einer Basis, z. B. 10, initialisiert und wählt Achsengrenzen und Ticks, die Vielfache dieser Basis sind.
Die hier definierten Locator-Unterklassen sind
|
|
Findet bis zu einer maximalen Anzahl von Intervallen mit Ticks an schönen Positionen. |
|
Verteilt Ticks gleichmäßig von min bis max. |
|
Verteilt Ticks logarithmisch von min bis max. |
|
Ticks und Bereich sind ein Vielfaches der Basis; entweder ganzzahlig oder als Gleitkommazahl. |
|
Tick-Positionen sind fest vorgegeben. |
|
Locator für Index-Plots (z. B. wo |
|
Keine Ticks. |
|
Locator zur Verwendung mit der symlog-Norm; funktioniert wie |
|
Locator zur Verwendung mit der asinh-Norm, der versucht, Ticks annähernd gleichmäßig zu verteilen. |
|
Locator für Logit-Skalierung. |
|
Locator für Nebenticks, wenn die Achse linear ist und die Hauptticks gleichmäßig beabstandet sind. Unterteilt das Intervall der Hauptticks in eine angegebene Anzahl von Nebenticks, standardmäßig 4 oder 5, abhängig vom Intervall der Hauptticks. |
Es gibt eine Reihe von Locators, die für Datumspositionen spezialisiert sind – siehe das dates-Modul.
Sie können Ihren eigenen Locator definieren, indem Sie von Locator erben. Sie müssen die Methode __call__ überschreiben, die eine Sequenz von Positionen zurückgibt, und wahrscheinlich möchten Sie die Methode für die automatische Skalierung überschreiben, um die Ansichtsgrenzen aus den Datenlimits zu setzen.
Wenn Sie den Standard-Locator überschreiben möchten, verwenden Sie einen der oben genannten oder einen benutzerdefinierten Locator und übergeben Sie ihn an die x- oder y-Achseninstanz. Die relevanten Methoden sind
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)
Der Standard-Nebentick-Locator ist NullLocator, d. h. standardmäßig keine Nebenticks.
Hinweis
Locator-Instanzen sollten nicht mit mehr als einer Axis oder Axes verwendet werden. Anstatt also
locator = MultipleLocator(5)
ax.xaxis.set_major_locator(locator)
ax2.xaxis.set_major_locator(locator)
tun Sie stattdessen Folgendes
ax.xaxis.set_major_locator(MultipleLocator(5))
ax2.xaxis.set_major_locator(MultipleLocator(5))
Tick-Formatierung#
Die Tick-Formatierung wird durch Klassen gesteuert, die von Formatter abgeleitet sind. Der Formatter arbeitet mit einem einzelnen Tick-Wert und gibt einen String an die Achse zurück.
Keine Beschriftungen an den Ticks. |
|
Manuell gesetzte Strings für die Beschriftungen. |
|
Benutzerdefinierte Funktion setzt die Beschriftungen. |
|
Verwendet die Zeichenketten-Methode |
|
Verwendet eine Formatierungszeichenkette im alten Stil (sprintf). |
|
Standard-Formatter für Skalare: automatische Auswahl der Formatierungszeichenkette. |
|
Formatter für Log-Achsen. |
|
Formatiert Werte für Log-Achsen mit |
|
Formatiert Werte für Log-Achsen mit |
|
Formatiert Werte für Log-Achsen in wissenschaftlicher Notation. |
|
Wahrscheinlichkeits-Formatter. |
|
Formatiert Beschriftungen in technischer Notation. |
|
Formatiert Beschriftungen als Prozentsatz. |
Sie können Ihren eigenen Formatter von der Basisklasse Formatter ableiten, indem Sie einfach die Methode __call__ überschreiben. Die Formatter-Klasse hat Zugriff auf die Achsenansicht und die Datenlimits.
Um die Formate der Haupt- und Nebentick-Beschriftungen zu steuern, verwenden Sie eine der folgenden Methoden
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)
Zusätzlich zu einer Formatter-Instanz akzeptieren set_major_formatter und set_minor_formatter auch einen str oder eine Funktion. Eine str-Eingabe wird intern durch einen automatisch generierten StrMethodFormatter mit dem Eingabe-String ersetzt. Für eine Funktions-Eingabe wird ein FuncFormatter mit der Eingabefunktion generiert und verwendet.
Siehe Haupt- und Nebenticks für ein Beispiel für die Einstellung von Haupt- und Nebenticks. Weitere Informationen und Beispiele zur Verwendung von Datums-Locators und -Formatierern finden Sie im Modul matplotlib.dates.
- class matplotlib.ticker.AsinhLocator(linear_width, numticks=11, symthresh=0.2, base=10, subs=None)[source]#
Bases:
LocatorPlatziert Ticks gleichmäßig auf einer invers-sinh-Skala.
Wird im Allgemeinen mit der Klasse
AsinhScaleverwendet.Hinweis
Diese API ist vorläufig und kann basierend auf frühem Benutzerfeedback in Zukunft überarbeitet werden.
- Parameter:
- linear_widthfloat
Der Skalenparameter, der den Umfang des quasi-linearen Bereichs definiert.
- numticksint, default: 11
Die ungefähre Anzahl von Hauptticks, die entlang der gesamten Achse passen.
- symthreshfloat, default: 0.2
Der fraktionale Schwellenwert, unter dem Daten, die einen Bereich abdecken, der annähernd symmetrisch um Null ist, exakt symmetrische Ticks haben.
- baseint, default: 10
Die Zahlenbasis, die zum Runden von Tick-Positionen auf einer logarithmischen Skala verwendet wird. Wenn diese kleiner als eins ist, wird auf das nächste ganzzahlige Vielfache von Zehnerpotenzen gerundet.
- substuple, default: None
Vielfache der Zahlenbasis, die typischerweise für Nebenticks verwendet werden, z. B. (2, 5) bei base=10.
- set_params(numticks=None, symthresh=None, base=None, subs=None)[source]#
Setzt Parameter innerhalb dieses Locators.
- tick_values(vmin, vmax)[source]#
Gibt die Werte der lokalisierten Ticks für die gegebenen vmin und vmax zurück.
Hinweis
Um Tick-Positionen mit automatisch definierten vmin- und vmax-Werten für die zugehörige
axiszu erhalten, rufen Sie einfach die Locator-Instanz auf>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- class matplotlib.ticker.AutoLocator[source]#
Bases:
MaxNLocatorPlatziert gleichmäßig beabstandete Ticks, wobei die Schrittgröße und die maximale Anzahl von Ticks automatisch gewählt werden.
Dies ist eine Unterklasse von
MaxNLocatormit den Parametern nbins = 'auto' und steps = [1, 2, 2.5, 5, 10].Um die Werte der nicht öffentlichen Parameter zu erfahren, schauen Sie bitte in die Standardeinstellungen von
MaxNLocator.
- class matplotlib.ticker.AutoMinorLocator(n=None)[source]#
Bases:
LocatorPlatziert gleichmäßig beabstandete Nebenticks, wobei die Schrittgröße und die maximale Anzahl von Ticks automatisch gewählt werden.
Die Achse muss eine lineare Skala verwenden und gleichmäßig beabstandete Hauptticks haben.
- Parameter:
- nint oder 'auto', default:
rcParams["xtick.minor.ndivs"](Standard:'auto') oderrcParams["ytick.minor.ndivs"](Standard:'auto') Die Anzahl der Unterteilungen des Intervalls zwischen Hauptticks; z. B. platziert n=2 einen einzelnen Nebentick auf halbem Weg zwischen Hauptticks.
Wenn n 'auto' ist, wird es auf 4 oder 5 gesetzt: Wenn der Abstand zwischen den Hauptticks 1, 2,5, 5 oder 10 beträgt, kann er perfekt in 5 äquidistante Teilintervalle mit einer Länge, die ein Vielfaches von 0,05 ist, unterteilt werden; andernfalls wird er in 4 Teilintervalle unterteilt.
- nint oder 'auto', default:
- tick_values(vmin, vmax)[source]#
Gibt die Werte der lokalisierten Ticks für die gegebenen vmin und vmax zurück.
Hinweis
Um Tick-Positionen mit automatisch definierten vmin- und vmax-Werten für die zugehörige
axiszu erhalten, rufen Sie einfach die Locator-Instanz auf>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- class matplotlib.ticker.EngFormatter(unit='', places=None, sep=' ', *, usetex=None, useMathText=None, useOffset=False)[source]#
Bases:
ScalarFormatterFormatiert Achsenwerte mithilfe von technischen Präfixen, um Zehnerpotenzen darzustellen, plus eine angegebene Einheit, z. B. 10 MHz anstelle von 1e7.
- Parameter:
- unitstr, default: ""
Symbol der Einheit, das verwendet werden soll, geeignet für die einbuchstabigen Darstellungen von Zehnerpotenzen. Zum Beispiel 'Hz' oder 'm'.
- placesint, default: None
Präzision, mit der die Zahl angezeigt werden soll, angegeben in Dezimalstellen nach dem Dezimalpunkt (es wird zwischen einer und drei Ziffern vor dem Dezimalpunkt geben). Wenn None, fällt die Formatierung auf das Gleitkommaformat '%g' zurück, das bis zu 6 signifikante Ziffern anzeigt, d. h. der äquivalente Wert für places variiert zwischen 0 und 5 (einschließlich).
- sepstr, default: " "
Separator, der zwischen Wert und Präfix/Einheit verwendet wird. Zum Beispiel erhält man '3.14 mV', wenn
sep" " (Standard) ist und '3.14mV', wennsep"" ist. Neben dem Standardverhalten können einige andere nützliche Optionen seinsep="", um das Präfix/die Einheit direkt an den Wert anzuhängen;sep="\N{THIN SPACE}"(U+2009);sep="\N{NARROW NO-BREAK SPACE}"(U+202F);sep="\N{NO-BREAK SPACE}"(U+00A0).
- usetexbool, default:
rcParams["text.usetex"](Standard:False) Zum Aktivieren/Deaktivieren der Verwendung des TeX-Mathematikmodus zum Rendern der Zahlen im Formatter.
- useMathTextbool, default:
rcParams["axes.formatter.use_mathtext"](Standard:False) Zum Aktivieren/Deaktivieren der Verwendung von MathText zum Rendern der Zahlen im Formatter.
- useOffsetbool oder float, default: False
Ob Offset-Notation mit Präfixen basierend auf \(10^{3*N}\) verwendet werden soll. Diese Funktion ermöglicht die Anzeige eines Offsets mit Standard-SI-Größenordnungspräfixen nahe der Achse. Der Offset wird ähnlich berechnet, wie
ScalarFormatterihn intern berechnet, aber hier ist garantiert, dass ein Offset verwendet wird, der die Tick-Beschriftungen über 3 Ziffern hinausgehen lässt. Siehe auchset_useOffset.Hinzugefügt in Version 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'}#
- format_data(value)[source]#
Formatiert eine Zahl in technischer Notation und fügt einen Buchstaben hinzu, der die Zehnerpotenz der ursprünglichen Zahl darstellt. Einige Beispiele
>>> format_data(0) # for self.places = 0 '0'
>>> format_data(1000000) # for self.places = 1 '1.0 M'
>>> format_data(-1e-6) # for self.places = 2 '-1.00 µ'
- class matplotlib.ticker.FixedFormatter(seq)[source]#
Bases:
FormatterGibt feste Zeichenketten für Tick-Beschriftungen zurück, die nur auf der Position, nicht auf dem Wert basieren.
Hinweis
FixedFormattersollte nur zusammen mitFixedLocatorverwendet werden. Andernfalls können die Beschriftungen an unerwarteten Positionen landen.Setzt die Sequenz seq von Zeichenketten, die für Beschriftungen verwendet werden.
- class matplotlib.ticker.FixedLocator(locs, nbins=None)[source]#
Bases:
LocatorPlatziert Ticks an einem Satz von festen Werten.
Wenn nbins None ist, werden Ticks an allen Werten platziert. Andernfalls wird das Array locs von möglichen Positionen unterabgetastet, um die Anzahl der Ticks auf \(\leq nbins + 1\) zu halten. Die Unterabtastung erfolgt so, dass der Wert mit dem kleinsten Betrag eingeschlossen wird; wenn beispielsweise Null im Array der Möglichkeiten enthalten ist, wird er in die ausgewählten Ticks aufgenommen.
- class matplotlib.ticker.FormatStrFormatter(fmt)[source]#
Bases:
FormatterVerwendet eine Formatierungszeichenkette im alten Stil ('%' Operator) zum Formatieren des Ticks.
Die Formatierungszeichenkette sollte ein einzelnes Variablenformat (%) enthalten. Es wird auf den Wert (nicht die Position) des Ticks angewendet.
Negative numerische Werte (z. B. -1) verwenden einen Bindestrich, kein Unicode-Minus; verwenden Sie Mathtext, um ein Unicode-Minus zu erhalten, indem Sie den Format-Spezifizierer mit $ (z. B. "$%g$") umschließen.
- class matplotlib.ticker.Formatter[source]#
Bases:
TickHelperErstellt eine Zeichenkette basierend auf einem Tick-Wert und einer Position.
- static fix_minus(s)[source]#
Einige Klassen möchten möglicherweise einen Bindestrich für das Minuszeichen durch das richtige Unicode-Symbol (U+2212) ersetzen, um typografische Korrektheit zu gewährleisten. Dies ist eine Hilfsmethode zur Durchführung einer solchen Ersetzung, wenn sie über
rcParams["axes.unicode_minus"](Standard:True) aktiviert ist.
- format_data(value)[source]#
Gibt die vollständige Zeichenkettenrepräsentation des Wertes ohne Angabe der Position zurück.
- format_data_short(value)[source]#
Gibt eine kurze Zeichenkettenversion des Tick-Wertes zurück.
Standardmäßig auf den positionsunabhängigen Long-Wert gesetzt.
- locs = []#
- class matplotlib.ticker.FuncFormatter(func)[source]#
Bases:
FormatterVerwenden Sie eine benutzerdefinierte Funktion zur Formatierung.
Die Funktion sollte zwei Eingaben erhalten (einen Tick-Wert
xund eine Positionpos) und eine Zeichenkette mit der entsprechenden Tick-Beschriftung zurückgeben.
- class matplotlib.ticker.IndexLocator(base, offset)[source]#
Bases:
LocatorPlatziert Ticks bei jedem n-ten geplotteten Punkt.
IndexLocator geht von Index-Plotting aus, d.h. dass die Ticks bei ganzzahligen Werten im Bereich zwischen 0 und len(data) einschließlich platziert werden.
Platziert Ticks bei jedem base Datenpunkt, beginnend bei offset.
- tick_values(vmin, vmax)[source]#
Gibt die Werte der lokalisierten Ticks für die gegebenen vmin und vmax zurück.
Hinweis
Um Tick-Positionen mit automatisch definierten vmin- und vmax-Werten für die zugehörige
axiszu erhalten, rufen Sie einfach die Locator-Instanz auf>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- class matplotlib.ticker.LinearLocator(numticks=None, presets=None)[source]#
Bases:
LocatorPlatziert Ticks bei gleichmäßig verteilten Werten.
Beim ersten Aufruf dieser Funktion wird versucht, die Anzahl der Ticks so festzulegen, dass eine schöne Tick-Partitionierung entsteht. Danach wird die Anzahl der Ticks fixiert, damit die interaktive Navigation angenehm ist.
- Parameter:
- numticksint oder None, Standard: None
Anzahl der Ticks. Wenn None, numticks = 11.
- presetsdict oder None, Standard: None
Dictionary, das
(vmin, vmax)auf ein Array von Positionen abbildet. Überschreibt numticks, wenn ein Eintrag für die aktuelle(vmin, vmax)vorhanden ist.
- property numticks#
- tick_values(vmin, vmax)[source]#
Gibt die Werte der lokalisierten Ticks für die gegebenen vmin und vmax zurück.
Hinweis
Um Tick-Positionen mit automatisch definierten vmin- und vmax-Werten für die zugehörige
axiszu erhalten, rufen Sie einfach die Locator-Instanz auf>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- class matplotlib.ticker.Locator[source]#
Bases:
TickHelperTick-Positionen bestimmen.
Beachten Sie, dass derselbe Locator nicht über mehrere
Axisverwendet werden sollte, da der Locator Referenzen auf die Axis-Daten und Ansichtsgrenzen speichert.- MAXTICKS = 1000#
- nonsingular(v0, v1)[source]#
Passt einen Bereich an, um Singularitäten zu vermeiden.
Diese Methode wird während der Autoskalierung aufgerufen, wobei
(v0, v1)auf die Datenlimits der Achse gesetzt werden, wenn die Achse Daten enthält, oder auf(-inf, +inf), wenn nicht.Wenn
v0 == v1(möglicherweise bis auf Gleitkomma-Ungenauigkeiten), gibt diese Methode ein erweitertes Intervall um diesen Wert zurück.Wenn
(v0, v1) == (-inf, +inf), gibt diese Methode geeignete Standard-Ansichtsgrenzen zurück.Andernfalls wird
(v0, v1)unverändert zurückgegeben.
- raise_if_exceeds(locs)[source]#
Protokolliert auf WARNING-Level, wenn locs länger ist als
Locator.MAXTICKS.Dies ist dazu gedacht, unmittelbar vor der Rückgabe von locs von
__call__aufgerufen zu werden, um Benutzer zu informieren, falls ihr Locator eine riesige Anzahl von Ticks zurückgibt, was dazu führt, dass Matplotlib den Speicher verliert.Der "seltsame" Name dieser Methode stammt aus der Zeit, als sie stattdessen eine Ausnahme auslöste, anstatt eine Protokollmeldung auszugeben.
- set_params(**kwargs)[source]#
Tut nichts und löst eine Warnung aus. Jede Locator-Klasse, die die Funktion set_params() nicht unterstützt, ruft diese auf.
- tick_values(vmin, vmax)[source]#
Gibt die Werte der lokalisierten Ticks für die gegebenen vmin und vmax zurück.
Hinweis
Um Tick-Positionen mit automatisch definierten vmin- und vmax-Werten für die zugehörige
axiszu erhalten, rufen Sie einfach die Locator-Instanz auf>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- class matplotlib.ticker.LogFormatter(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[source]#
Bases:
FormatterBasisklasse für die Formatierung von Ticks auf einer Log- oder Symlog-Skala.
Sie kann direkt instanziiert oder unterklassifiziert werden.
- Parameter:
- basefloat, Standard: 10.
Basis des Logarithmus, der in allen Berechnungen verwendet wird.
- labelOnlyBasebool, Standard: False
Wenn True, beschriftet Ticks nur bei ganzzahligen Potenzen der Basis. Dies ist normalerweise True für Haupt-Ticks und False für Neben-Ticks.
- minor_thresholds(subset, all), Standard: (1, 0.4)
Wenn labelOnlyBase False ist, steuern diese beiden Zahlen die Beschriftung von Ticks, die keine ganzzahligen Potenzen der Basis sind; normalerweise sind dies die Neben-Ticks. Der steuernde Parameter ist der Logarithmus des Achsen-Datenbereichs. Im typischen Fall, wenn die Basis 10 ist, ist es die Anzahl der Dekaden, die die Achse überspannt, daher können wir es 'numdec' nennen. Wenn
numdec <= all, werden alle Neben-Ticks beschriftet. Wennall < numdec <= subset, wird nur eine Teilmenge von Neben-Ticks beschriftet, um Gedränge zu vermeiden. Wennnumdec > subset, werden keine Neben-Ticks beschriftet.- linthreshNone oder float, Standard: None
Wenn eine symmetrische Log-Skala verwendet wird, muss ihr
linthresh-Parameter hier angegeben werden.
Anmerkungen
Die Methode
set_locsmuss aufgerufen werden, um die durch den Parameterminor_thresholdsgesteuerte Unterteilung zu aktivieren.In einigen Fällen, wie z. B. bei der Farbleiste, gibt es keine Unterscheidung zwischen Haupt- und Neben-Ticks; die Tick-Positionen können manuell oder durch einen Locator festgelegt werden, der Ticks bei ganzzahligen Potenzen der Basis und bei Zwischenpositionen setzt. Deaktivieren Sie in diesem Fall die Logik zur Beschriftung von Neben-Ticks, indem Sie
minor_thresholds=(np.inf, np.inf)verwenden, damit alle Ticks beschriftet werden.Um die Beschriftung von Neben-Ticks zu deaktivieren, wenn 'labelOnlyBase' False ist, verwenden Sie
minor_thresholds=(0, 0). Dies ist die Standardeinstellung für den "klassischen" Stil.Beispiele
Um eine Teilmenge von Neben-Ticks zu beschriften, wenn die Ansichtsgrenzen bis zu 2 Dekaden umfassen, und alle Ticks, wenn sie auf 0,5 Dekaden oder weniger gezoomt sind, verwenden Sie
minor_thresholds=(2, 0.5).Um alle Neben-Ticks zu beschriften, wenn die Ansichtsgrenzen bis zu 1,5 Dekaden umfassen, verwenden Sie
minor_thresholds=(1.5, 1.5).- format_data(value)[source]#
Gibt die vollständige Zeichenkettenrepräsentation des Wertes ohne Angabe der Position zurück.
- format_data_short(value)[source]#
Gibt eine kurze Zeichenkettenversion des Tick-Wertes zurück.
Standardmäßig auf den positionsunabhängigen Long-Wert gesetzt.
- set_base(base)[source]#
Ändert die Basis für die Beschriftung.
Warnung
Sollte immer mit der Basis übereinstimmen, die für
LogLocatorverwendet wird.
- class matplotlib.ticker.LogFormatterExponent(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[source]#
Basiert auf:
LogFormatterFormatiert Werte für Log-Achsen mit
exponent = log_base(value).
- class matplotlib.ticker.LogFormatterMathtext(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[source]#
Basiert auf:
LogFormatterFormatiert Werte für Log-Achsen mit
exponent = log_base(value).
- class matplotlib.ticker.LogFormatterSciNotation(base=10.0, labelOnlyBase=False, minor_thresholds=None, linthresh=None)[source]#
Basiert auf:
LogFormatterMathtextFormatiert Werte nach wissenschaftlicher Notation in einer logarithmischen Achse.
- class matplotlib.ticker.LogLocator(base=10.0, subs=(1.0,), *, numticks=None)[source]#
Bases:
LocatorPlatziert logarithmisch verteilte Ticks.
Platziert Ticks bei den Werten
subs[j] * base**i.- Parameter:
- basefloat, Standard: 10.0
Die Basis des verwendeten Logarithmus, sodass Haupt-Ticks bei
base**nplatziert werden, wobeineine ganze Zahl ist.- subsNone oder {'auto', 'all'} oder Sequenz von float, Standard: (1.0,)
Gibt die Vielfachen von ganzzahligen Potenzen der Basis an, bei denen Ticks platziert werden sollen. Der Standardwert
(1.0, )platziert Ticks nur bei ganzzahligen Potenzen der Basis. Zulässige Zeichenkettenwerte sind'auto'und'all'. Beide verwenden einen Algorithmus, der auf den Achsen-Ansichtsgrenzen basiert, um zu bestimmen, ob und wie Ticks zwischen ganzzahligen Potenzen der Basis platziert werden sollen: -'auto': Ticks werden nur zwischen ganzzahligen Potenzen platziert. -'all': Ticks werden zwischen und bei ganzzahligen Potenzen platziert. -None: Entspricht'auto'.- numticksNone oder int, Standard: None
Die maximale Anzahl von Ticks, die auf einer gegebenen Achse zulässig sind. Der Standardwert
Noneversucht, intelligent zu wählen, solange dieser Locator bereits einer Achse überget_tick_spacezugewiesen wurde, fällt aber andernfalls auf 9 zurück.
- nonsingular(vmin, vmax)[source]#
Passt einen Bereich an, um Singularitäten zu vermeiden.
Diese Methode wird während der Autoskalierung aufgerufen, wobei
(v0, v1)auf die Datenlimits der Achse gesetzt werden, wenn die Achse Daten enthält, oder auf(-inf, +inf), wenn nicht.Wenn
v0 == v1(möglicherweise bis auf Gleitkomma-Ungenauigkeiten), gibt diese Methode ein erweitertes Intervall um diesen Wert zurück.Wenn
(v0, v1) == (-inf, +inf), gibt diese Methode geeignete Standard-Ansichtsgrenzen zurück.Andernfalls wird
(v0, v1)unverändert zurückgegeben.
- set_params(base=None, subs=None, *, numticks=None)[source]#
Setzt Parameter innerhalb dieses Locators.
- tick_values(vmin, vmax)[source]#
Gibt die Werte der lokalisierten Ticks für die gegebenen vmin und vmax zurück.
Hinweis
Um Tick-Positionen mit automatisch definierten vmin- und vmax-Werten für die zugehörige
axiszu erhalten, rufen Sie einfach die Locator-Instanz auf>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- class matplotlib.ticker.LogitFormatter(*, use_overline=False, one_half='\frac{1}{2}', minor=False, minor_threshold=25, minor_number=6)[source]#
Bases:
FormatterWahrscheinlichkeits-Formatter (mit Math Text).
- Parameter:
- use_overlinebool, Standard: False
Wenn x > 1/2, mit x = 1 - v, anzeigen, ob x als $overline{v}$ angezeigt werden soll. Der Standardwert ist die Anzeige von $1 - v$.
- one_halfstr, Standard: r"\frac{1}{2}"
Die Zeichenkette, die zur Darstellung von 1/2 verwendet wird.
- minorbool, Standard: False
Gibt an, ob der Formatter Neben-Ticks oder nicht formatiert. Im Grunde werden Neben-Ticks nicht beschriftet, es sei denn, es werden nur wenige Ticks bereitgestellt; Ticks mit dem größten Abstand zu benachbarten Ticks werden beschriftet. Siehe andere Parameter, um das Standardverhalten zu ändern.
- minor_thresholdint, Standard: 25
Maximale Anzahl von Orten zum Beschriften einiger Neben-Ticks. Dieser Parameter hat keine Auswirkung, wenn minor False ist.
- minor_numberint, Standard: 6
Anzahl der Ticks, die beschriftet werden, wenn die Anzahl der Ticks unter dem Schwellenwert liegt.
- format_data_short(value)[source]#
Gibt eine kurze Zeichenkettenversion des Tick-Wertes zurück.
Standardmäßig auf den positionsunabhängigen Long-Wert gesetzt.
- set_locs(locs)[source]#
Setzt die Positionen der Ticks.
Diese Methode wird aufgerufen, bevor die Tick-Beschriftungen berechnet werden, da einige Formatierer alle Tick-Positionen kennen müssen, um dies zu tun.
- set_minor_number(minor_number)[source]#
Legt die Anzahl der zu beschriftenden Neben-Ticks fest, wenn einige Neben-Ticks beschriftet werden.
- Parameter:
- minor_numberint
Anzahl der Ticks, die beschriftet werden, wenn die Anzahl der Ticks unter dem Schwellenwert liegt.
- set_minor_threshold(minor_threshold)[source]#
Legt den Schwellenwert für die Beschriftung von Neben-Ticks fest.
- Parameter:
- minor_thresholdint
Maximale Anzahl von Positionen zum Beschriften einiger Neben-Ticks. Dieser Parameter hat keine Auswirkung, wenn minor False ist.
- class matplotlib.ticker.LogitLocator(minor=False, *, nbins='auto')[source]#
Bases:
MaxNLocatorPlatziert Ticks, die auf einer Logit-Skala gleichmäßig verteilt sind.
- Parameter:
- nbinsint oder 'auto', optional
Anzahl der Ticks. Wird nur verwendet, wenn minor False ist.
- minorbool, Standard: False
Gibt an, ob dieser Locator für Neben-Ticks ist oder nicht.
- property minor#
- nonsingular(vmin, vmax)[source]#
Passt einen Bereich an, um Singularitäten zu vermeiden.
Diese Methode wird während der Autoskalierung aufgerufen, wobei
(v0, v1)auf die Datenlimits der Achse gesetzt werden, wenn die Achse Daten enthält, oder auf(-inf, +inf), wenn nicht.Wenn
v0 == v1(möglicherweise bis auf Gleitkomma-Ungenauigkeiten), gibt diese Methode ein erweitertes Intervall um diesen Wert zurück.Wenn
(v0, v1) == (-inf, +inf), gibt diese Methode geeignete Standard-Ansichtsgrenzen zurück.Andernfalls wird
(v0, v1)unverändert zurückgegeben.
- tick_values(vmin, vmax)[source]#
Gibt die Werte der lokalisierten Ticks für die gegebenen vmin und vmax zurück.
Hinweis
Um Tick-Positionen mit automatisch definierten vmin- und vmax-Werten für die zugehörige
axiszu erhalten, rufen Sie einfach die Locator-Instanz auf>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- class matplotlib.ticker.MaxNLocator(nbins=None, **kwargs)[source]#
Bases:
LocatorPlatziert gleichmäßig beabstandete Ticks mit einer Obergrenze für die Gesamtzahl der Ticks.
Findet ansprechende Tick-Positionen mit nicht mehr als \(nbins + 1\) Ticks innerhalb der Sichtgrenzen. Positionen außerhalb der Grenzen werden zur Unterstützung der automatischen Skalierung hinzugefügt.
- Parameter:
- nbinsint oder 'auto', Standard: 10
Maximale Anzahl von Intervallen; eins weniger als die maximale Anzahl von Ticks. Wenn der String 'auto', wird die Anzahl der Bins automatisch basierend auf der Länge der Achse bestimmt.
- stepsarray-like, optional
Sequenz akzeptabler Tick-Vielfache, beginnend mit 1 und endend mit 10. Zum Beispiel, wenn
steps=[1, 2, 4, 5, 10], wären20, 40, 60oder0.4, 0.6, 0.8mögliche Tick-Sets, da sie Vielfache von 2 sind.30, 60, 90würden nicht generiert werden, da 3 in dieser Beispiel-Schrittliste nicht vorkommt.- integerbool, Standard: False
Wenn True, werden Ticks nur ganzzahlige Werte annehmen, vorausgesetzt, es werden mindestens *min_n_ticks* ganze Zahlen innerhalb der Sichtgrenzen gefunden.
- symmetricbool, Standard: False
Wenn True, wird die automatische Skalierung zu einem Bereich symmetrisch um Null führen.
- prune{'lower', 'upper', 'both', None}, Standard: None
Entfernt den 'lower'-Tick, den 'upper'-Tick oder Ticks auf 'beiden' Seiten, *wenn sie exakt auf einer Achsenkante liegen* (dies tritt typischerweise auf, wenn
rcParams["axes.autolimit_mode"](Standard:'round_numbers') 'round_numbers' ist). Das Entfernen solcher Ticks ist hauptsächlich nützlich für gestapelte oder zusammengeführte Plots, bei denen der obere Tick einer Achse mit dem unteren Tick der darüber liegenden Achse überlappt.- min_n_ticksint, Standard: 2
Locker die *nbins*- und *integer*-Beschränkungen, falls notwendig, um diese minimale Anzahl von Ticks zu erreichen.
- default_params = {'integer': False, 'min_n_ticks': 2, 'nbins': 10, 'prune': None, 'steps': None, 'symmetric': False}#
- set_params(**kwargs)[source]#
Parameter für diesen Locator setzen.
- Parameter:
- nbinsint oder 'auto', optional
siehe
MaxNLocator- stepsarray-like, optional
siehe
MaxNLocator- integerbool, optional
siehe
MaxNLocator- symmetricbool, optional
siehe
MaxNLocator- prune{'lower', 'upper', 'both', None}, optional
siehe
MaxNLocator- min_n_ticksint, optional
siehe
MaxNLocator
- tick_values(vmin, vmax)[source]#
Gibt die Werte der lokalisierten Ticks für die gegebenen vmin und vmax zurück.
Hinweis
Um Tick-Positionen mit automatisch definierten vmin- und vmax-Werten für die zugehörige
axiszu erhalten, rufen Sie einfach die Locator-Instanz auf>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- class matplotlib.ticker.MultipleLocator(base=1.0, offset=0.0)[source]#
Bases:
LocatorPlatziert Ticks bei jedem ganzzahligen Vielfachen einer Basis plus einem Offset.
- Parameter:
- basefloat > 0, Standard: 1.0
Intervall zwischen den Ticks.
- offsetfloat, Standard: 0.0
Wert, der zu jedem Vielfachen von *base* addiert wird.
Hinzugefügt in Version 3.8.
- set_params(base=None, offset=None)[source]#
Setzt Parameter innerhalb dieses Locators.
- Parameter:
- basefloat > 0, optional
Intervall zwischen den Ticks.
- offsetfloat, optional
Wert, der zu jedem Vielfachen von *base* addiert wird.
Hinzugefügt in Version 3.8.
- tick_values(vmin, vmax)[source]#
Gibt die Werte der lokalisierten Ticks für die gegebenen vmin und vmax zurück.
Hinweis
Um Tick-Positionen mit automatisch definierten vmin- und vmax-Werten für die zugehörige
axiszu erhalten, rufen Sie einfach die Locator-Instanz auf>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]
- class matplotlib.ticker.NullFormatter[source]#
Bases:
FormatterGibt immer den leeren String zurück.
- class matplotlib.ticker.PercentFormatter(xmax=100, decimals=None, symbol='%', is_latex=False)[source]#
Bases:
FormatterZahlen als Prozentsatz formatieren.
- Parameter:
- xmaxfloat
Bestimmt, wie die Zahl in einen Prozentsatz umgewandelt wird. *xmax* ist der Datenwert, der 100% entspricht. Prozentsätze werden berechnet als
x / xmax * 100. Wenn die Daten bereits als Prozentsätze skaliert sind, ist *xmax* 100. Eine weitere übliche Situation ist, wenn *xmax* 1.0 ist.- decimalsNone oder int
Die Anzahl der Dezimalstellen nach dem Punkt. Wenn *None* (Standard), wird die Zahl automatisch berechnet.
- symbolstr oder None
Ein String, der an das Label angehängt wird. Es kann *None* oder leer sein, um anzuzeigen, dass kein Symbol verwendet werden soll. LaTeX-Sonderzeichen werden im *symbol* escaped, wenn der LaTeX-Modus aktiviert ist, es sei denn, *is_latex* ist *True*.
- is_latexbool
Wenn *False*, werden reservierte LaTeX-Zeichen in *symbol* escaped.
- format_pct(x, display_range)[source]#
Formatiert die Zahl als Prozentsatz mit der korrekten Anzahl von Dezimalstellen und fügt das Prozentzeichen hinzu, falls vorhanden.
Wenn
self.decimals*None* ist, wird die Anzahl der Stellen nach dem Dezimalpunkt basierend auf dem *display_range* der Achse wie folgt festgelegt: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%...
...
...
Diese Methode wird für winzige Achsenbereiche oder extrem große Bereiche nicht sehr gut sein. Sie geht davon aus, dass die Werte im Diagramm Prozentsätze sind, die auf einer angemessenen Skala angezeigt werden.
- property symbol#
Das konfigurierte Prozentzeichen als String.
Wenn LaTeX über
rcParams["text.usetex"](Standard:False) aktiviert ist, werden die Sonderzeichen{'#', '$', '%', '&', '~', '_', '^', '\', '{', '}'}in dem String automatisch escaped.
- class matplotlib.ticker.ScalarFormatter(useOffset=None, useMathText=None, useLocale=None, *, usetex=None)[source]#
Bases:
FormatterTick-Werte als Zahl formatieren.
- Parameter:
- useOffsetbool oder float, Standard:
rcParams["axes.formatter.useoffset"](Standard:True) Ob Offset-Notation verwendet werden soll. Siehe
set_useOffset.- useMathTextbool, default:
rcParams["axes.formatter.use_mathtext"](Standard:False) Ob ausgefallene Matheformatierung verwendet werden soll. Siehe
set_useMathText.- useLocalebool, Standard:
rcParams["axes.formatter.use_locale"](Standard:False). Ob Lokaleinstellungen für das Dezimalzeichen und das Vorzeichen verwendet werden sollen. Siehe
set_useLocale.- usetexbool, default:
rcParams["text.usetex"](Standard:False) Zum Aktivieren/Deaktivieren der Verwendung des TeX-Mathematikmodus zum Rendern der Zahlen im Formatter.
Hinzugefügt in Version 3.10.
- useOffsetbool oder float, Standard:
Anmerkungen
Zusätzlich zu den oben genannten Parametern kann die Formatierung von wissenschaftlicher versus Gleitkommadarstellung über
set_scientificundset_powerlimitskonfiguriert werden.Offset-Notation und wissenschaftliche Notation
Offset-Notation und wissenschaftliche Notation sehen auf den ersten Blick ziemlich ähnlich aus. Beide trennen einige Informationen von den formatierten Tick-Werten und zeigen sie am Ende der Achse an.
Die wissenschaftliche Notation teilt die Größenordnung auf, d. h. einen multiplikativen Skalierungsfaktor, z. B.
1e6.Die Offset-Notation trennt eine additive Konstante, z. B.
+1e6. Das Offset-Notationslabel wird immer mit einem+- oder--Zeichen versehen und ist somit vom Label der Größenordnung unterscheidbar.
Der folgende Plot mit x-Grenzen von
1_000_000bis1_000_010illustriert die unterschiedliche Formatierung. Beachten Sie die Labels am rechten Rand der x-Achse.
- format_data(value)[source]#
Gibt die vollständige Zeichenkettenrepräsentation des Wertes ohne Angabe der Position zurück.
- format_data_short(value)[source]#
Gibt eine kurze Zeichenkettenversion des Tick-Wertes zurück.
Standardmäßig auf den positionsunabhängigen Long-Wert gesetzt.
- get_useLocale()[source]#
Gibt zurück, ob Lokaleinstellungen für die Formatierung verwendet werden.
Siehe auch
- get_useMathText()[source]#
Gibt zurück, ob ausgefallene Matheformatierung verwendet werden soll.
Siehe auch
- get_useOffset()[source]#
Gibt zurück, ob der automatische Modus für die Offset-Notation aktiv ist.
Dies gibt True zurück, wenn
set_useOffset(True)aufgerufen wird; es gibt False zurück, wenn ein expliziter Offset gesetzt wurde, z. B.set_useOffset(1000).Siehe auch
- set_locs(locs)[source]#
Setzt die Positionen der Ticks.
Diese Methode wird aufgerufen, bevor die Tick-Beschriftungen berechnet werden, da einige Formatierer alle Tick-Positionen kennen müssen, um dies zu tun.
- set_powerlimits(lims)[source]#
Schwellenwerte für die wissenschaftliche Notation festlegen.
- Parameter:
- lims(int, int)
Ein Tupel *(min_exp, max_exp)*, das die Potenzen von 10 enthält, die die Schwellenwerte bestimmen. Für eine Zahl, die als \(a \times 10^\mathrm{exp}\) mit \(1 <= |a| < 10\) darstellbar ist, wird die wissenschaftliche Notation verwendet, wenn
exp <= min_expoderexp >= max_exp.Die Standardgrenzen werden von
rcParams["axes.formatter.limits"](Standard:[-5, 6]) gesteuert.Insbesondere Zahlen mit *exp*, die gleich den Schwellenwerten sind, werden in wissenschaftlicher Notation geschrieben.
Typischerweise wird *min_exp* negativ und *max_exp* positiv sein.
Zum Beispiel wird
formatter.set_powerlimits((-3, 4))die folgende Formatierung liefern: \(1 \times 10^{-3}, 9.9 \times 10^{-3}, 0.01,\) \(9999, 1 \times 10^4\).
Siehe auch
- set_useLocale(val)[source]#
Festlegen, ob Lokaleinstellungen für das Dezimalzeichen und das Vorzeichen verwendet werden.
- Parameter:
- valbool oder None
None setzt auf
rcParams["axes.formatter.use_locale"](Standard:False).
- set_useMathText(val)[source]#
Festlegen, ob ausgefallene Matheformatierung verwendet werden soll.
Wenn aktiv, wird die wissenschaftliche Notation als \(1.2 \times 10^3\) formatiert.
- Parameter:
- valbool oder None
None setzt auf
rcParams["axes.formatter.use_mathtext"](Standard:False).
- set_useOffset(val)[source]#
Festlegen, ob Offset-Notation verwendet werden soll.
Beim Formatieren einer Menge von Zahlen, deren Wert im Vergleich zu ihrem Bereich groß ist, kann der Formatter eine additive Konstante abtrennen. Dies kann die formatierten Zahlen verkürzen, damit sie bei der Zeichnung auf einer Achse weniger wahrscheinlich überlappen.
- Parameter:
- valbool oder float
Wenn False, wird keine Offset-Notation verwendet.
Wenn True (= automatischer Modus), wird die Offset-Notation verwendet, wenn sie die Restzahlen erheblich verkürzen kann. Das genaue Verhalten wird durch
rcParams["axes.formatter.offset_threshold"](Standard:4) gesteuert.Wenn eine Zahl, erzwingt einen Offset des gegebenen Werts.
Beispiele
Bei aktiver Offset-Notation werden die Werte
100_000, 100_002, 100_004, 100_006, 100_008als
0, 2, 4, 6, 8plus ein Offset+1e5formatiert, das an den Rand der Achse geschrieben wird.
- set_usetex(val)[source]#
Legt fest, ob der Mathemodus von TeX zum Rendern von Zahlen im Formatter verwendet werden soll.
- property useLocale#
Gibt zurück, ob Lokaleinstellungen für die Formatierung verwendet werden.
Siehe auch
- property useMathText#
Gibt zurück, ob ausgefallene Matheformatierung verwendet werden soll.
Siehe auch
- property useOffset#
Gibt zurück, ob der automatische Modus für die Offset-Notation aktiv ist.
Dies gibt True zurück, wenn
set_useOffset(True)aufgerufen wird; es gibt False zurück, wenn ein expliziter Offset gesetzt wurde, z. B.set_useOffset(1000).Siehe auch
- property usetex#
Gibt zurück, ob der Mathemodus von TeX für das Rendern aktiviert ist.
- class matplotlib.ticker.StrMethodFormatter(fmt)[source]#
Bases:
FormatterVerwendet einen Format-String im neuen Stil (wie von
str.formatverwendet), um den Tick zu formatieren.Das Feld für den Tickwert muss als *x* und das Feld für die Tick-Position als *pos* bezeichnet werden.
Der Formatter berücksichtigt
rcParams["axes.unicode_minus"](Standard:True) beim Formatieren negativer numerischer Werte.Es ist normalerweise nicht notwendig,
StrMethodFormatter-Objekte explizit zu konstruieren, daset_major_formatterdirekt den Format-String selbst akzeptiert.
- class matplotlib.ticker.SymmetricalLogLocator(transform=None, subs=None, linthresh=None, base=None)[source]#
Bases:
LocatorPlatziert Ticks linear nahe Null und logarithmisch beabstandet über einem Schwellenwert.
- Parameter:
- transform
SymmetricalLogTransform, optional Wenn gesetzt, definiert die Basis und den linthresh der Symlog-Transformation.
- base, linthreshfloat, optional
Die Basis und der linthresh der Symlog-Transformation, wie für
SymmetricalLogScaledokumentiert. Diese Parameter werden nur verwendet, wenn transform nicht gesetzt ist.- subsSequenz von float, Standard: [1]
Die Vielfachen von ganzzahligen Potenzen der Basis, an denen Ticks platziert werden, d. h. Ticks werden an folgenden Stellen platziert:
[sub * base**i für i in ... für sub in subs].
- transform
Anmerkungen
Entweder transform oder beide base und linthresh müssen angegeben werden.
- tick_values(vmin, vmax)[source]#
Gibt die Werte der lokalisierten Ticks für die gegebenen vmin und vmax zurück.
Hinweis
Um Tick-Positionen mit automatisch definierten vmin- und vmax-Werten für die zugehörige
axiszu erhalten, rufen Sie einfach die Locator-Instanz auf>>> print(type(loc)) <type 'Locator'> >>> print(loc()) [1, 2, 3, 4]