matplotlib.units
#
Las clases aquí brindan soporte para el uso de clases personalizadas con Matplotlib, por ejemplo, aquellas que no exponen la interfaz de matriz pero saben cómo convertirse en matrices. También admite clases con unidades y conversión de unidades. Los casos de uso incluyen convertidores para objetos personalizados, por ejemplo, una lista de objetos de fecha y hora, así como para objetos que son conscientes de la unidad. No asumimos ninguna implementación de unidades en particular; más bien, una implementación de unidades debe registrarse con el diccionario del convertidor del Registro y proporcionar un archivo ConversionInterface
. Por ejemplo, aquí hay una implementación completa que admite el trazado con objetos nativos de fecha y hora:
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()
- clase matplotlib.unidades. AxisInfo ( majloc = Ninguno , minloc = Ninguno , majfmt = Ninguno , minfmt = Ninguno , etiqueta = Ninguno , default_limits = Ninguno ) [fuente] #
Bases:
object
Información para admitir el etiquetado de eje predeterminado, el etiquetado de ticks y los límites.
Una instancia de esta clase debe ser devuelta por
ConversionInterface.axisinfo
.- Parámetros :
- majloc, minloc Localizador, opcional
Localizadores de ticks para los ticks mayores y menores.
- majfmt, formateador minfmt, opcional
Formateadores de ticks para los ticks mayores y menores.
- cadena de etiqueta , opcional
La etiqueta de eje predeterminada.
- límites_predeterminados opcional
Los límites mínimo y máximo predeterminados del eje si no se han trazado datos.
notas
Si alguno de los anteriores es
None
, el eje simplemente usará el valor predeterminado.
- clase matplotlib.unidades. Interfaz de conversión [fuente] #
Bases:
object
La interfaz mínima para que un convertidor tome tipos de datos personalizados (o secuencias) y los convierta en valores que Matplotlib puede usar.
- infoeje estático ( unidad , eje ) [fuente] #
Devuelve un
AxisInfo
para el eje con las unidades especificadas.
- conversión estática ( obj , unidad , eje ) [fuente] #
Convierta obj usando la unidad para el eje especificado .
Si obj es una secuencia, devuelve la secuencia convertida. La salida debe ser una secuencia de escalares que pueda usar la capa de matriz numpy.
- unidades predeterminadas estáticas ( x , eje ) [fuente] #
Devuelve la unidad predeterminada para x o
None
para el eje dado.
- is_numlike estático ( x ) [fuente] #
[ Obsoleto ] El datalim de Matplotlib, el escalado automático, los localizadores, etc. funcionan con escalares, que son las unidades convertidas en flotantes dada la unidad actual. Al convertidor se le pueden pasar estos flotadores, o arreglos de ellos, incluso cuando las unidades están configuradas.
notas
En desuso desde la versión 3.5.
- clase matplotlib.unidades. Convertidor decimal [fuente] #
Bases:
ConversionInterface
Convertidor de datos decimales. Decimal a flotante.