matplotlib.units#

As classes aqui fornecem suporte para usar classes personalizadas com Matplotlib, por exemplo, aquelas que não expõem a interface de array, mas sabem como se converter em arrays. Ele também oferece suporte a classes com unidades e conversão de unidades. Os casos de uso incluem conversores para objetos personalizados, por exemplo, uma lista de objetos datetime, bem como para objetos que reconhecem unidades. Não assumimos nenhuma implementação de unidades em particular; em vez disso, uma implementação de unidades deve se registrar no dicionário conversor do Registro e fornecer um arquivo ConversionInterface. Por exemplo, aqui está uma implementação completa que suporta plotagem com objetos de data e hora nativos:

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()
classe matplotlib.units. AxisInfo ( majloc = Nenhum , minloc = Nenhum , majfmt = Nenhum , minfmt = Nenhum , label = Nenhum , default_limits = Nenhum ) [source] #

Bases:object

Informações para suportar rotulagem de eixo padrão, rotulagem de escala e limites.

Uma instância dessa classe deve ser retornada por ConversionInterface.axisinfo.

Parâmetros :
majloc, localizador minloc , opcional

Localizadores de carrapatos para os carrapatos principais e secundários.

majfmt, minfmt Formatador, opcional

Formatadores de ticks para os ticks maiores e menores.

rótulo str, opcional

O rótulo do eixo padrão.

default_limits opcional

Os limites mínimo e máximo padrão do eixo se nenhum dado tiver sido plotado.

Notas

Se algum dos itens acima for None, o eixo simplesmente usará o valor padrão.

exceção matplotlib.units. ConversionError [fonte] #

Bases:TypeError

classe matplotlib.units. Interface de conversão [fonte] #

Bases:object

A interface mínima para um conversor pegar tipos de dados personalizados (ou sequências) e convertê-los em valores que o Matplotlib pode usar.

informações de eixo estático ( unidade , eixo ) [fonte] #

Retorna um AxisInfopara o eixo com as unidades especificadas.

conversão estática ( obj , unidade , eixo ) [fonte] #

Converta obj usando a unidade para o eixo especificado .

Se obj for uma sequência, retorne a sequência convertida. A saída deve ser uma sequência de escalares que pode ser usada pela camada de matriz numpy.

static default_units ( x , axis ) [source] #

Retorna a unidade padrão para x ou Nonepara o eixo especificado.

static is_numlike ( x ) [fonte] #

[ Obsoleto ] O matplotlib datalim , autoscaling, localizadores, etc, trabalham com escalares, que são as unidades convertidas em flutuantes, dada a unidade atual. O conversor pode receber esses floats, ou arrays deles, mesmo quando as unidades são definidas.

Notas

Obsoleto desde a versão 3.5.

classe matplotlib.units. DecimalConverter [fonte] #

Bases:ConversionInterface

Conversor de dados decimal.Decimal para float.

conversão estática ( valor , unidade , eixo ) [fonte] #

Converter decimais em floats.

Os argumentos de unidade e eixo não são usados.

Parâmetros :
valor decimal. Decimal ou iterável

Decimal ou lista de Decimais precisam ser convertidos

classe matplotlib.units. Registro [fonte] #

Bases:dict

Tipos de registro com interface de conversão.

get_converter ( x ) [fonte] #

Obtenha a instância da interface do conversor para x ou None.