matplotlib.units#
Die hier enthaltenen Klassen bieten Unterstützung für die Verwendung benutzerdefinierter Klassen mit Matplotlib, z. B. für solche, die keine Array-Schnittstelle bereitstellen, aber wissen, wie sie sich selbst in Arrays umwandeln können. Sie unterstützt auch Klassen mit Einheiten und Einheitenkonvertierungen. Anwendungsfälle umfassen Konverter für benutzerdefinierte Objekte, z. B. eine Liste von Datetime-Objekten, sowie für Objekte, die einheitenbewusst sind. Wir gehen von keiner bestimmten Einheitenimplementierung aus; vielmehr muss eine Einheitenimplementierung mit dem Konverter-Dictionary der Registry registriert werden und eine ConversionInterface bereitstellen. Hier ist beispielsweise 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()
- class matplotlib.units.AxisInfo(majloc=None, minloc=None, majfmt=None, minfmt=None, label=None, default_limits=None)[source]#
Bases:
objectInformationen zur Unterstützung von Standard-Achsenbeschriftungen, Beschriftungen von Achsenpunkten und Grenzen.
Eine Instanz dieser Klasse muss von
ConversionInterface.axisinfozurückgegeben werden.- Parameter:
- majloc, minlocLocator, optional
Tick-Locator für die Haupt- und Nebenticks.
- majfmt, minfmtFormatter, optional
Tick-Formatierer für die Haupt- und Nebenticks.
- labelstr, optional
Die standardmäßige Achsenbeschriftung.
- default_limitsoptional
Die Standard-Min- und Max-Grenzen der Achse, wenn keine Daten geplottet wurden.
Anmerkungen
Wenn einer der obigen Werte
Noneist, verwendet die Achse einfach den Standardwert.
- class matplotlib.units.ConversionInterface[source]#
Bases:
objectDie minimale Schnittstelle für einen Konverter zur Umwandlung benutzerdefinierter Datentypen (oder Sequenzen) in Werte, die Matplotlib verwenden kann.
- static axisinfo(unit, axis)[source]#
Gibt eine
AxisInfofür die Achse mit der angegebenen Einheit zurück.
- class matplotlib.units.DecimalConverter[source]#
Bases:
ConversionInterfaceKonverter für decimal.Decimal-Daten nach Float.