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 accedernameal 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:
objectMe 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 pornormalize_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, **kwargsfuncs 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, **kwargsTypeErrorLas 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_signaturenotas
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 esdef 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:
DeprecationWarningUna 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
**kwargsen 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:
objectAyudante 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 los
deprecatedparámetros . Este formulario creaattruna propiedad que reenvía el acceso de lectura y escritura aself._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@classmethody@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, seCdebe 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. 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')