matplotlib.units#

Die Klassen hier bieten Unterstützung für die Verwendung benutzerdefinierter Klassen mit Matplotlib, z. B. solche, die die Array-Schnittstelle nicht verfügbar machen, aber wissen, wie sie sich selbst in Arrays konvertieren. Es unterstützt auch Klassen mit Einheiten und Einheitenumrechnung. Zu den Anwendungsfällen gehören Konverter für benutzerdefinierte Objekte, z. B. eine Liste von datetime-Objekten, sowie für Objekte, die Einheiten berücksichtigen. Wir gehen nicht von der Implementierung einer bestimmten Einheit aus; vielmehr muss sich eine Unit-Implementierung beim Registry-Konverter-Wörterbuch registrieren und eine ConversionInterface. Hier ist zum Beispiel eine vollständige Implementierung, die das Plotten mit nativen datetime-Objekten unterstützt:

import matplotlib.units as units
import matplotlib.dates as dates
import matplotlib.ticker as ticker
import datetime

class DateConverter(units.ConversionInterface):

    @staticmethod
    def convert(value, unit, axis):
        "Convert a datetime value to a scalar or array."
        return dates.date2num(value)

    @staticmethod
    def axisinfo(unit, axis):
        "Return major and minor tick locators and formatters."
        if unit != 'date':
            return None
        majloc = dates.AutoDateLocator()
        majfmt = dates.AutoDateFormatter(majloc)
        return units.AxisInfo(majloc=majloc, majfmt=majfmt, label='date')

    @staticmethod
    def default_units(x, axis):
        "Return the default unit for x or None."
        return 'date'

# Finally we register our object type with the Matplotlib units registry.
units.registry[datetime.date] = DateConverter()
Klasse matplotlib.units. AxisInfo ( majloc = None , minloc = None , majfmt = None , minfmt = None , label = None , default_limits = None ) [Quelle] #

Basen:object

Informationen zur Unterstützung der standardmäßigen Achsenbeschriftung, Teilstrichbeschriftung und Grenzwerte.

Eine Instanz dieser Klasse muss von zurückgegeben werden ConversionInterface.axisinfo.

Parameter :
Majloc, Minloc Locator, optional

Tick-Locators für die großen und kleinen Ticks.

majfmt, minfmt Formatierer, optional

Tick-Formatierer für die großen und kleinen Ticks.

Label -Str, optional

Die Standardachsenbeschriftung.

default_limits optional

Die standardmäßigen Mindest- und Höchstgrenzen der Achse, wenn keine Daten gezeichnet wurden.

Anmerkungen

Wenn einer der oben genannten NoneWerte zutrifft, verwendet die Achse einfach den Standardwert.

Ausnahme matplotlib.units. Konvertierungsfehler [Quelle] #

Basen:TypeError

Klasse matplotlib.units. ConversionInterface [Quelle] #

Basen:object

Die minimale Schnittstelle für einen Konverter, um benutzerdefinierte Datentypen (oder Sequenzen) zu nehmen und sie in Werte zu konvertieren, die Matplotlib verwenden kann.

Statische Achseninfo ( Einheit , Achse ) [Quelle] #

Gibt ein AxisInfofür die Achse mit den angegebenen Einheiten zurück.

statische Konvertierung ( obj , Einheit , Achse ) [Quelle] #

Konvertiere obj unter Verwendung der Einheit für die angegebene Achse .

Wenn obj eine Sequenz ist, wird die konvertierte Sequenz zurückgegeben. Die Ausgabe muss eine Folge von Skalaren sein, die von der numpy-Array-Schicht verwendet werden können.

static default_units ( x , Achse ) [Quelle] #

Gibt die Standardeinheit für x oder Nonefür die angegebene Achse zurück.

static is_numlike ( x ) [Quelle] #

[ Veraltet ] Die Matplotlib Datalim, Autoskalierung, Locators usw. arbeiten mit Skalaren, die die Einheiten sind, die angesichts der aktuellen Einheit in Gleitkommazahlen umgewandelt werden. Dem Konverter können diese Gleitkommazahlen oder Arrays davon übergeben werden, selbst wenn Einheiten gesetzt sind.

Anmerkungen

Veraltet seit Version 3.5.

Klasse matplotlib.units. DecimalConverter [Quelle] #

Basen:ConversionInterface

Konverter für decimal.Decimal-Daten in Fließkommazahlen.

statische Konvertierung ( Wert , Einheit , Achse ) [Quelle] #

Konvertieren Sie Dezimalzahlen in Gleitkommazahlen.

Die Einheits- und Achsenargumente werden nicht verwendet.

Parameter :
Wert decimal.Decimal oder iterierbar

Dezimalzahlen oder Dezimalzahlen müssen konvertiert werden

Klasse matplotlib.units. Registrierung [Quelle] #

Basen:dict

Registrieren Sie Typen mit Konvertierungsschnittstelle.

get_converter ( x ) [Quelle] #

Rufen Sie die Converter-Schnittstelleninstanz für x oder None ab.