matplotlib._api#

Funciones auxiliares para administrar la API de Matplotlib.

Esta documentación solo es relevante para los desarrolladores de Matplotlib, no para los usuarios.

Advertencia

Este módulo y sus submódulos son solo para uso interno. No los utilice en su propio código. Podemos cambiar la API en cualquier momento sin previo aviso.

matplotlib._api. caching_module_getattr ( cls ) [fuente] #

Decorador auxiliar para implementar el nivel de módulo __getattr__como una clase.

Este decorador debe usarse en el nivel superior del módulo de la siguiente manera:

@caching_module_getattr
class __getattr__:  # The class *must* be named ``__getattr__``.
    @property  # Only properties are taken into account.
    def name(self): ...

La __getattr__clase será reemplazada por una __getattr__ función tal que intentar acceder nameal módulo resolverá la propiedad correspondiente (que puede estar decorada, por ejemplo, con _api.deprecatedpara desaprobar los globales del módulo). Todas las propiedades se almacenan implícitamente en caché. Además, se genera y genera un AttributeError adecuado si no existe ninguna propiedad con el nombre dado.

matplotlib._api. check_getitem ( _mapping , ** kwargs ) [fuente] #

kwargs debe constar de una sola clave, par de valores. Si la clave está en _mapping , devuelve _mapping[value]; de lo contrario, genere un ValueError apropiado.

Ejemplos

>>> _api.check_getitem({"foo": "bar"}, arg=arg)
matplotlib._api. check_in_list ( _values ​​, * , _print_supported_values ​​= True , ** kwargs ) [fuente] #

Para cada clave, par de valores en kwargs , verifique que el valor esté en _values ​​.

Parámetros :
_valores iterables

Secuencia de valores a comprobar.

_print_supported_values ​​booleano , predeterminado: Verdadero

Ya sea para imprimir _valores al generar ValueError.

** dictado de los kwargs

clave, pares de valores como argumentos de palabras clave para encontrar en _values ​​.

aumenta :
ValorError

Si algún valor en kwargs no se encuentra en _values .

Ejemplos

>>> _api.check_in_list(["foo", "bar"], arg=arg, other_arg=other_arg)
matplotlib._api. check_isinstance ( _tipos , ** kwargs ) [fuente] #

Para cada clave, par de valores en kwargs , verifique que el valor sea una instancia de uno de _types ; si no, genere un TypeError apropiado.

Como caso especial, una Noneentrada en _types se trata como NoneType.

Ejemplos

>>> _api.check_isinstance((SomeClass, None), arg=arg)
matplotlib._api. check_shape ( _shape , ** kwargs ) [fuente] #

Para cada clave, par de valores en kwargs , verifique que el valor tenga la forma _shape , si no, genere un ValueError apropiado.

Ninguno en la forma se trata como un tamaño "libre" que puede tener cualquier longitud. por ejemplo (Ninguno, 2) -> (N, 2)

Los valores marcados deben ser matrices numpy.

Ejemplos

Para verificar matrices con forma (N, 2)

>>> _api.check_shape((None, 2), arg=arg, other_arg=other_arg)
clase matplotlib._api. classproperty ( fget , fset = Ninguno , fdel = Ninguno , doc = Ninguno ) [fuente] #

Bases:object

Me gusta property, pero también se activa al acceder a través de la clase, y es la clase la que se pasa como argumento.

Ejemplos

class C:
    @classproperty
    def foo(cls):
        return cls.__name__

assert C.foo == "C"
propiedad fget #
matplotlib._api. define_aliases ( alias_d , cls = Ninguno ) [fuente] #

Decorador de clase para definir alias de propiedad.

Usar como

@_api.define_aliases({"property": ["alias", ...], ...})
class C: ...

Para cada propiedad, si la correspondiente está definida en la clase hasta el momento, se definirá get_propertyun alias named ; get_aliaslo mismo se hará con los setters. Si no existe ni el getter ni el setter, se generará una excepción.

El mapa de alias se almacena como el _alias_mapatributo en la clase y puede ser utilizado por normalize_kwargs(lo que supone que los alias de mayor prioridad son los últimos).

matplotlib._api. recursive_subclasses ( cls ) [fuente] #

Rendimiento cls y subclases directas e indirectas de cls .

matplotlib._api. select_matching_signature ( funciones , * argumentos , ** kwargs ) [fuente] #

Seleccione y llame a la función que acepta .*args, **kwargs

funcs es una lista de funciones que no deberían generar ninguna excepción (excepto TypeErrorsi los argumentos pasados ​​no coinciden con su firma).

select_matching_signatureintenta llamar a cada una de las funciones en funciones con (en el orden en que se dan). Las llamadas que fallan con un se saltan silenciosamente. Tan pronto como una llamada tiene éxito, devuelve su valor de retorno. Si ninguna función acepta , entonces se vuelve a generar la planteada por la última llamada fallida.*args, **kwargsTypeErrorselect_matching_signature*args, **kwargsTypeError

Las personas que llaman normalmente deben asegurarse de que cualquiera solo pueda vincular una sola función (para evitar cualquier ambigüedad), aunque esto no lo comprueba .*args, **kwargsselect_matching_signature

notas

select_matching_signatureestá destinado a ayudar a implementar funciones sobrecargadas de firmas. En general, tales funciones deben evitarse, excepto por problemas de compatibilidad con versiones anteriores. Un patrón de uso típico es

def my_func(*args, **kwargs):
    params = select_matching_signature(
        [lambda old1, old2: locals(), lambda new: locals()],
        *args, **kwargs)
    if "old1" in params:
        warn_deprecated(...)
        old1, old2 = params.values()  # note that locals() is ordered.
    else:
        new, = params.values()
    # do things with params

lo que permite llamar a my_func con dos parámetros ( old1 y old2 ) o uno solo ( new ). Tenga en cuenta que la nueva firma se proporciona en último lugar, de modo que las personas que llaman obtienen una TypeErrorcorrespondiente a la nueva firma si los argumentos que pasaron no coinciden con ninguna firma.

matplotlib._api. warn_external ( mensaje , categoría = Ninguno ) [fuente] #

warnings.warncontenedor que establece el nivel de pila en "fuera de Matplotlib".

El emisor original de la advertencia se puede obtener parcheando esta función de nuevo a warnings.warn, es decir (o , etc.)._api.warn_external = warnings.warnfunctools.partial(warnings.warn, stacklevel=2)

Funciones auxiliares para desaprobar partes de la API de Matplotlib.

Esta documentación solo es relevante para los desarrolladores de Matplotlib, no para los usuarios.

Advertencia

Este módulo es solo para uso interno. No lo use en su propio código. Podemos cambiar la API en cualquier momento sin previo aviso.

excepción matplotlib._api.deprecation. MatplotlibDeprecationWarning [fuente] #

Bases:DeprecationWarning

Una clase para emitir advertencias de obsolescencia para los usuarios de Matplotlib.

matplotlib._api.deprecación. delete_parameter ( desde , nombre , función = Ninguno , ** kwargs ) [fuente] #

Decorator que indica que el nombre de parámetro de func está en desuso.

La implementación real de func debería mantener el parámetro de nombre**kwargs en su firma o aceptar un argumento (a través del cual se pasaría el nombre ).

Los parámetros que vienen después del parámetro en desuso se convierten efectivamente en solo palabras clave (ya que no se pueden pasar posicionalmente sin activar DeprecationWarning en el parámetro en desuso), y deben marcarse como tales después de que haya pasado el período de desuso y se elimine el parámetro en desuso.

Los parámetros que no sean since , name y func son solo palabras clave y se reenvían a warn_deprecated.

Ejemplos

@_api.delete_parameter("3.1", "unused")
def func(used_arg, other_arg, unused, more_args): ...
matplotlib._api.deprecación. deprecate_method_override ( método , obj , * , allow_empty = False , ** kwargs ) [fuente] #

Regrese obj.methodcon una desaprobación si se anuló, de lo contrario, Ninguno.

Parámetros :
método

Un método independiente, es decir, una expresión de la forma Class.method_name. Recuerde que dentro del cuerpo de un método, uno siempre puede usar __class__para referirse a la clase que se está definiendo actualmente.

objeto

Ya sea un objeto de la clase donde se define el método , o una subclase de esa clase.

allow_empty bool, predeterminado: Falso

Si permitir anulaciones por métodos "vacíos" sin emitir una advertencia.

**kwargs

Parámetros adicionales pasados ​​para warn_deprecatedgenerar la advertencia de obsolescencia; debe incluir al menos la clave "since".

clase matplotlib._api.deprecation. deprecate_privatize_attribute ( * argumentos , ** kwargs ) [fuente] #

Bases:object

Ayudante para desaprobar el acceso público a un atributo (o método).

Este ayudante solo debe usarse en el ámbito de la clase, de la siguiente manera:

class Foo:
    attr = _deprecate_privatize_attribute(*args, **kwargs)

donde se reenvían todos losdeprecated parámetros . Este formulario crea attruna propiedad que reenvía el acceso de lectura y escritura a self._attr (mismo nombre pero con un guión bajo al principio), con una advertencia de obsolescencia. Tenga en cuenta que el nombre del atributo se deriva del nombre al que está asignado este ayudante . Este ayudante también funciona para métodos en desuso.

matplotlib._api.deprecación. en desuso ( desde , * , mensaje = '' , nombre = '' , alternativa = '' , pendiente = Falso , obj_type = Ninguno , anexo = '' , eliminación = '' ) [fuente] #

Decorador para marcar una función, una clase o una propiedad como obsoleta.

Al desaprobar un método de clase, un método estático o una propiedad, el @deprecateddecorador debe pasar por debajo @classmethod y @staticmethod(es decir, deprecateddebe decorar directamente el invocable subyacente), pero por encima @property .

Al desaprobar una clase Cdestinada a ser utilizada como clase base en una jerarquía de herencia múltiple, se C debe definir un __init__método (si, Cen cambio, se hereda __init__de su propia clase base, @deprecatedse estropearía la __init__herencia al instalar la suya propia (emisión de desaprobación) C.__init__).

Los parámetros son los mismos que para warn_deprecated, excepto que obj_type por defecto es 'clase' si decora una clase, 'atributo' si decora una propiedad y 'función' de lo contrario.

Ejemplos

@deprecated('1.4.0')
def the_function_to_deprecate():
    pass
matplotlib._api.deprecación. make_keyword_only ( desde , nombre , función = Ninguno ) [fuente] #

El decorador que indica que pasar el nombre del parámetro (o cualquiera de los siguientes) posicionalmente a func está en desuso.

Cuando se usa en un método que tiene un contenedor de pyplot, este debe ser el decorador más externo, para que boilerplate.pypueda acceder a la firma original.

matplotlib._api.deprecación. rename_parameter ( desde , antiguo , nuevo , función = Ninguno ) [fuente] #

Decorator que indica que el parámetro old of func se renombra a new .

La implementación real de func debe usar new , no old . Si se pasa old a func , se emite un DeprecationWarning y se usa su valor, incluso si new también se pasa por palabra clave (esto es para simplificar las funciones de envoltura de pyplot, que siempre pasan new explícitamente al método Axes). Si también se pasa new pero posicionalmente, la función subyacente generará un TypeError durante el enlace del argumento.

Ejemplos

@_api.rename_parameter("3.1", "bad_name", "good_name")
def func(good_name): ...
matplotlib._api.deprecación. suprimir_matplotlib_deprecation_warning ( ) [fuente] #
matplotlib._api.deprecación. warn_deprecated ( desde , * , mensaje = '' , nombre = '' , alternativa = '' , pendiente = False , obj_type = '' , addendum = '' , eliminación = '' ) [fuente] #

Mostrar una desaprobación estandarizada.

Parámetros :
desde la calle

La versión en la que esta API quedó obsoleta.

cadena de mensaje , opcional

Anule el mensaje de desuso predeterminado. Los especificadores de formato %(since)s, %(name)s, %(alternative)s, %(obj_type)s, %(addendum)sy %(removal)sserán reemplazados por los valores de los respectivos argumentos pasados ​​a esta función.

cadena de nombre , opcional

El nombre del objeto obsoleto.

calle alternativa , opcional

Una API alternativa que el usuario puede usar en lugar de la API obsoleta. La advertencia de obsolescencia le informará al usuario sobre esta alternativa, si se proporciona.

bool pendiente , opcional

Si es True, utiliza una advertencia de depreciación pendiente en lugar de una advertencia de depreciación. No se puede utilizar junto con la eliminación .

obj_type str, opcional

El tipo de objeto que está en desuso.

addendum str, opcional

Texto adicional adjunto directamente al mensaje final.

eliminación str, opcional

La versión de eliminación esperada. Con el valor predeterminado (una cadena vacía), se calcula automáticamente una versión de eliminación desde . Establezca otros valores falsos para no programar una fecha de eliminación. No se puede utilizar junto con la pendiente .

Ejemplos

# To warn of the deprecation of "matplotlib.name_of_module"
warn_deprecated('1.4.0', name='matplotlib.name_of_module',
                obj_type='module')