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.
- 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
AxisInfo
para 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
None
para 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.