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
None
Werte zutrifft, verwendet die Achse einfach den Standardwert.
- 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
AxisInfo
fü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
None
fü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.