matplotlib.cbook
#
Una colección de funciones y clases de utilidad. Originalmente, muchos (pero no todos) eran del Python Cookbook, de ahí el nombre cbook.
Este módulo es seguro para importar desde cualquier lugar dentro de Matplotlib; importa Matplotlib solo en tiempo de ejecución.
- clase matplotlib.cbook. CallbackRegistry ( exception_handler=<función _exception_printer> , * , señales=Ninguna ) [fuente] #
Bases:
object
Manejar el registro, el procesamiento, el bloqueo y la desconexión de un conjunto de señales y devoluciones de llamada:
>>> def oneat(x): ... print('eat', x) >>> def ondrink(x): ... print('drink', x)
>>> from matplotlib.cbook import CallbackRegistry >>> callbacks = CallbackRegistry()
>>> id_eat = callbacks.connect('eat', oneat) >>> id_drink = callbacks.connect('drink', ondrink)
>>> callbacks.process('drink', 123) drink 123 >>> callbacks.process('eat', 456) eat 456 >>> callbacks.process('be merry', 456) # nothing will be called
>>> callbacks.disconnect(id_eat) >>> callbacks.process('eat', 456) # nothing will be called
>>> with callbacks.blocked(signal='drink'): ... callbacks.process('drink', 123) # nothing will be called >>> callbacks.process('drink', 123) drink 123
En la práctica, siempre se deben desconectar todas las devoluciones de llamada cuando ya no se necesitan para evitar referencias colgantes (y, por lo tanto, pérdidas de memoria). Sin embargo, el código real en Matplotlib rara vez lo hace y, debido a su diseño, es bastante difícil colocar este tipo de código. Para evitar esto y evitar esta clase de fugas de memoria, en su lugar, almacenamos referencias débiles solo a métodos vinculados, de modo que cuando el objeto de destino deba morir, CallbackRegistry no lo mantendrá vivo.
- Parámetros :
- Exception_handler invocable, opcional
Si no es Ninguno, el manejador_de_excepciones debe ser una función que tome
Exception
como único parámetro. Se llama con cualquieraException
generado por las devoluciones de llamada duranteCallbackRegistry.process
, y puede volver a generar la excepción o manejarla de otra manera.El controlador predeterminado imprime la excepción (con
traceback.print_exc
) si se está ejecutando un bucle de eventos interactivos; vuelve a generar la excepción si no se está ejecutando ningún bucle de evento interactivo.- lista de señales , opcional
Si no es Ninguno, las señales son una lista de señales que maneja este registro: intentar
process
oconnect
una señal que no está en la lista genera un archivoValueError
. El valor predeterminado, Ninguno, no restringe las señales manejadas.
- bloqueado ( * , señal = Ninguno ) [fuente] #
Bloquee el procesamiento de las señales de devolución de llamada.
Un administrador de contexto para bloquear/deshabilitar temporalmente las señales de devolución de llamada para que no sean procesadas por los oyentes registrados.
- Parámetros :
- señal str, opcional
La señal de devolución de llamada para bloquear. El valor predeterminado es bloquear todas las señales.
- conectar ( señal , función ) [fuente] #
Función de registro que se llamará cuando se genere una señal .
- clase matplotlib.cbook. Mero ( init = () ) [fuente] #
Bases:
object
Una estructura de datos de conjuntos disjuntos.
Los objetos se pueden unir usando
join()
, probar la conexión usandojoined()
y todos los conjuntos disjuntos se pueden recuperar usando el objeto como un iterador.Los objetos que se unen deben ser hashable y débilmente referenciables.
Ejemplos
>>> from matplotlib.cbook import Grouper >>> class Foo: ... def __init__(self, s): ... self.s = s ... def __repr__(self): ... return self.s ... >>> a, b, c, d, e, f = [Foo(x) for x in 'abcdef'] >>> grp = Grouper() >>> grp.join(a, b) >>> grp.join(b, c) >>> grp.join(d, e) >>> list(grp) [[a, b, c], [d, e]] >>> grp.joined(a, b) True >>> grp.joined(a, c) True >>> grp.joined(a, d) False
- clase matplotlib.cbook. GrouperView ( mero ) [fuente] #
Bases:
object
Vista inmutable sobre un
Grouper
.- limpio ( ) [fuente] #
[ Obsoleto ] Limpie las referencias débiles muertas del diccionario.
notas
En desuso desde la versión 3.6.
- clase matplotlib.cbook. Pila ( predeterminado = Ninguno ) [fuente] #
Bases:
object
Pila de elementos con un cursor móvil.
Imita el inicio/atrás/adelante en un navegador web.
- burbuja ( o ) [fuente] #
Eleva todas las referencias de o a la parte superior de la pila y devuélvelas.
- aumenta :
- ValorError
Si o no está en la pila.
- casa ( ) [fuente] #
Empuje el primer elemento en la parte superior de la pila.
Se devuelve el primer elemento.
- matplotlib.cbook. boxplot_stats ( X , whis = 1.5 , bootstrap = Ninguno , etiquetas = Ninguno , rango automático = Falso ) [fuente] #
Retorna una lista de diccionarios de estadísticas usados para dibujar una serie de diagramas de caja y bigotes usando
bxp
.- Parámetros :
- tipo matriz X
Datos que se representarán en los diagramas de caja. Debe tener 2 o menos dimensiones.
- whis float o (float, float), por defecto: 1.5
La posición de los bigotes.
Si es flotante, el bigote inferior está en el dato más bajo por encima de , y el bigote superior en el dato más alto por debajo de , donde Q1 y Q3 son el primer y tercer cuartil. El valor predeterminado de corresponde a la definición original de diagramas de caja de Tukey.
Q1 - whis*(Q3-Q1)
Q3 + whis*(Q3-Q1)
whis = 1.5
Si un par de flotadores, indican los percentiles en los que dibujar los bigotes (p. ej., (5, 95)). En particular, establecer esto en (0, 100) da como resultado bigotes que cubren todo el rango de datos.
En el caso límite donde , whis se establece automáticamente en (0, 100) (cubre todo el rango de datos) si el rango automático es Verdadero.
Q1 == Q3
Más allá de los bigotes, los datos se consideran valores atípicos y se trazan como puntos individuales.
- bootstrap int, opcional
Número de veces que los intervalos de confianza alrededor de la mediana deben ser arrancados (método percentil).
- etiquetas en forma de matriz, opcional
Etiquetas para cada conjunto de datos. La longitud debe ser compatible con las dimensiones de X .
- autorango bool, opcional (falso)
Cuando
True
y los datos se distribuyen de manera que los percentiles 25 y 75 sean iguales,whis
se establece en (0, 100) de modo que los extremos de los bigotes estén en el mínimo y el máximo de los datos.
- Devoluciones :
- lista de dictados
Una lista de diccionarios que contienen los resultados de cada columna de datos. Las claves de cada diccionario son las siguientes:
Llave
Valor Descripción
etiqueta
marque la etiqueta para el diagrama de caja
significar
valor medio aritmético
medicina
percentil 50
q1
primer cuartil (percentil 25)
q3
tercer cuartil (percentil 75)
iqr
rango intercuartil
cil
muesca inferior alrededor de la mediana
cihi
muesca superior alrededor de la mediana
silbido
extremo del bigote inferior
whishi
extremo del bigote superior
volantes
valores atípicos
notas
El enfoque sin arranque del intervalo de confianza utiliza una aproximación asintótica basada en Gauss:
\[\mathrm{med} \pm 1.57 \times \frac{\mathrm{iqr}}{\sqrt{N}}\]Enfoque general de: McGill, R., Tukey, JW y Larsen, WA (1978) "Variations of Boxplots", The American Statistician, 32:12-16.
- matplotlib.cbook. regiones_contiguas ( máscara ) [fuente] #
Devuelve una lista de (ind0, ind1) tal que
mask[ind0:ind1].all()
sea True y cubrimos todas esas regiones.
- matplotlib.cbook. delete_masked_points ( * argumentos ) [fuente] #
Encuentre todos los puntos enmascarados y/o no finitos en un conjunto de argumentos y devuelva los argumentos con solo los puntos sin enmascarar restantes.
Los argumentos pueden estar en cualquiera de las 5 categorías:
Arreglos enmascarados 1-D
1-D ndarrays
ndarrays con más de una dimensión
otros iterables que no son cadenas
Algo más
El primer argumento debe estar en una de las primeras cuatro categorías; cualquier argumento con una longitud diferente a la del primer argumento (y por lo tanto cualquier cosa en la categoría 5) se pasará sin cambios.
Las máscaras se obtienen de todos los argumentos de la longitud correcta en las categorías 1, 2 y 4; un punto es malo si está enmascarado en una matriz enmascarada o si es un nan o inf. No se intenta extraer una máscara de las categorías 2, 3 y 4 si
numpy.isfinite
no produce una matriz booleana.Todos los argumentos de entrada que no se pasan sin cambios se devuelven como ndarrays después de eliminar los puntos o filas correspondientes a las máscaras en cualquiera de los argumentos.
Una versión mucho más simple de esta función se escribió originalmente como una ayuda para Axes.scatter().
- matplotlib.cbook. file_requires_unicode ( x ) [fuente] #
Devuelve si el objeto similar a un archivo grabable dado requiere que se escriba Unicode en él.
- matplotlib.cbook. flatten ( seq , scalarp=<function is_scalar_or_string> ) [fuente] #
Devuelve un generador de contenedores anidados aplanados.
Por ejemplo:
>>> from matplotlib.cbook import flatten >>> l = (('John', ['Hunter']), (1, 23), [[([42, (5, 23)], )]]) >>> print(list(flatten(l))) ['John', 'Hunter', 1, 23, 42, 5, 23]
Por: Compuesto de Holger Krekel y Luther Blissett De: https://code.activestate.com/recipes/121294/ y Receta 1.12 en libro de cocina
- matplotlib.cbook. get_sample_data ( fname , asfileobj = True , * , np_load = False ) [fuente] #
Devuelve un archivo de datos de muestra. fname es una ruta relativa al
mpl-data/sample_data
directorio. Si asfileobj devuelve un objeto de archivo, de loTrue
contrario, solo una ruta de archivo.Los archivos de datos de muestra se almacenan en el directorio 'mpl-data/sample_data' dentro del paquete Matplotlib.
Si el nombre del archivo termina en .gz, el archivo se descomprime implícitamente. Si el nombre del archivo termina con .npy o .npz, asfileobj es True y np_load es True, el archivo se carga con
numpy.load
. np_load actualmente tiene el valor predeterminado False, pero tendrá el valor predeterminado True en una versión futura.
- matplotlib.cbook. index_of ( y ) [fuente] #
Una función auxiliar para crear valores x razonables para la y dada .
Esto se usa para graficar (x, y) si los valores de x no se dan explícitamente.
Primero intente
y.index
(asumiendo que y es apandas.Series
), si eso falla, userange(len(y))
.Esto se ampliará en el futuro para tratar con más tipos de datos etiquetados.
- Parámetros :
- y flotante o en forma de matriz
- Devoluciones :
- x, y ndarray
Los valores x e y para graficar.
- matplotlib.cbook. is_math_text ( s ) [fuente] #
Devuelve si la cadena s contiene expresiones matemáticas.
Esto se hace comprobando si s contiene un número par de signos de dólar sin escape.
- matplotlib.cbook. is_scalar_or_string ( val ) [fuente] #
Devuelve si el objeto dado es un escalar o una cadena.
- matplotlib.cbook. is_writable_file_like ( obj ) [fuente] #
Devuelve si obj parece un objeto de archivo con un método de escritura .
- matplotlib.cbook. ls_mapper = {'-': 'sólido', '--': 'guión', '-.': 'guión', ':': 'punteado'} #
Asigna códigos cortos para el estilo de línea a su nombre completo utilizado por los backends.
- matplotlib.cbook. ls_mapper_r = {'guión': '-.', 'guión': '--', 'punteado': ':', 'sólido': '-'} #
Asigna los nombres completos de los estilos de línea utilizados por los backends a sus códigos cortos.
- clase matplotlib.cbook. maxdict ( maxsize ) [fuente] #
Bases:
dict
[ Obsoleto ] Un diccionario con un tamaño máximo.
notas
Esto no anula todos los métodos relevantes para restringir el tamaño, solo
__setitem__
, así que utilícelo con precaución.En desuso desde la versión 3.6: use functools.lru_cache en su lugar.
- matplotlib.cbook. normalize_kwargs ( kw , alias_mapping = Ninguno ) [fuente] #
Función auxiliar para normalizar las entradas de kwarg.
- Parámetros :
- kw dict o Ninguno
Un dictado de argumentos de palabras clave. Ninguno se admite explícitamente y se trata como un dictado vacío, para admitir funciones con un parámetro opcional del formulario
props=None
.- alias_mapping dict o subclase de artista o instancia de artista, opcional
Un mapeo entre un nombre canónico a una lista de alias, en orden de precedencia de menor a mayor.
Si el valor canónico no está en la lista, se supone que tiene la prioridad más alta.
Si se pasa una subclase o instancia de artista, use su asignación de alias de propiedades.
- aumenta :
- Error de tecleado
Para hacer coincidir lo que plantea Python si se pasan argumentos/argumentos de palabras clave inválidos a un invocable.
- matplotlib.cbook. open_file_cm ( ruta_o_archivo , modo = 'r' , codificación = Ninguno ) [fuente] #
Pase a través de objetos de archivo y administre contextos similares a rutas.
- matplotlib.cbook. print_cycles ( objetos , outstream=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'> , show_progress=False ) [fuente] #
Imprime bucles de referencias cíclicas en los objetos dados .
A menudo es útil pasar
gc.garbage
para encontrar los ciclos que impiden que algunos objetos se recopilen como basura.- Parámetros :
- objetos
Una lista de objetos para encontrar ciclos.
- aguas afuera
La secuencia para la salida.
- mostrar_progreso bool
Si es Verdadero, imprime el número de objetos alcanzados a medida que se encuentran.
- matplotlib.cbook. pts_to_midstep ( x , * argumentos ) [fuente] #
Convierta la línea continua en pasos intermedios.
Dado un conjunto de
N
puntos, se convierten en2N
puntos que, cuando se conectan linealmente, dan una función de paso que cambia los valores en la mitad de los intervalos.- Parámetros :
- matriz x
La ubicación x de los pasos. Puede estar vacío.
- y1, ..., matriz yp
y arreglos para convertirlos en pasos; todos deben tener la misma longitud que
x
.
- Devoluciones :
- formación
Los valores x e y convertidos a pasos en el mismo orden que la entrada; se puede descomprimir como . Si la entrada es length , cada una de estas matrices será length .
x_out, y1_out, ..., yp_out
N
2N
Ejemplos
>>> x_s, y1_s, y2_s = pts_to_midstep(x, y1, y2)
- matplotlib.cbook. pts_to_poststep ( x , * argumentos ) [fuente] #
Convierta la línea continua en pasos posteriores.
Dado un conjunto de
N
puntos, se convierten en puntos, que cuando se conectan linealmente dan una función de paso que cambia los valores al final de los intervalos.2N + 1
- Parámetros :
- matriz x
La ubicación x de los pasos. Puede estar vacío.
- y1, ..., matriz yp
y arreglos para convertirlos en pasos; todos deben tener la misma longitud que
x
.
- Devoluciones :
- formación
Los valores x e y convertidos a pasos en el mismo orden que la entrada; se puede descomprimir como . Si la entrada es length , cada una de estas matrices será length . Para , la longitud será 0.
x_out, y1_out, ..., yp_out
N
2N + 1
N=0
Ejemplos
>>> x_s, y1_s, y2_s = pts_to_poststep(x, y1, y2)
- matplotlib.cbook. pts_to_prestep ( x , * argumentos ) [fuente] #
Convierta la línea continua en pasos previos.
Dado un conjunto de
N
puntos, convertirlos en puntos, que cuando se conectan linealmente dan una función de paso que cambia los valores al comienzo de los intervalos.2N - 1
- Parámetros :
- matriz x
La ubicación x de los pasos. Puede estar vacío.
- y1, ..., matriz yp
y arreglos para convertirlos en pasos; todos deben tener la misma longitud que
x
.
- Devoluciones :
- formación
Los valores x e y convertidos a pasos en el mismo orden que la entrada; se puede descomprimir como . Si la entrada es length , cada una de estas matrices será length . Para , la longitud será 0.
x_out, y1_out, ..., yp_out
N
2N + 1
N=0
Ejemplos
>>> x_s, y1_s, y2_s = pts_to_prestep(x, y1, y2)
- matplotlib.cbook. report_memory ( i = 0 ) [fuente] #
[ Obsoleto ] Devuelve la memoria consumida por el proceso.
notas
En desuso desde la versión 3.5: use psutil.virtual_memory en su lugar.
- matplotlib.cbook. safe_first_element ( obj ) [fuente] #
Devuelve el primer elemento en obj .
Esta es una forma independiente del tipo de obtener el primer elemento, que admite tanto el acceso al índice como el protocolo iterador.
- matplotlib.cbook. sanitize_sequence ( datos ) [fuente] #
Convierte objetos dictview en lista. Otras entradas se devuelven sin cambios.
- clase matplotlib.cbook. silent_list ( tipo , seq = Ninguno ) [fuente] #
Bases:
list
Una lista con un breve
repr()
.Esto está destinado a ser utilizado para una lista homogénea de artistas, de modo que no generen una salida larga y sin sentido.
En vez de
[<matplotlib.lines.Line2D object at 0x7f5749fed3c8>, <matplotlib.lines.Line2D object at 0x7f5749fed4e0>, <matplotlib.lines.Line2D object at 0x7f5758016550>]
uno obtendrá
<a list of 3 Line2D objects>
Si
self.type
es Ninguno, el nombre del tipo se obtiene del primer elemento de la lista (si lo hay).
- matplotlib.cbook. interpolación_lineal_simple ( a , pasos ) [fuente] #
Vuelva a muestrear una matriz con puntos entre pares de puntos originales.
steps - 1
A lo largo de cada columna de a , se introducen puntos entre cada uno de los valores originales; los valores se interpolan linealmente.
(steps - 1)
- Parámetros :
- una matriz, forma (n, ...)
- pasos ent
- Devoluciones :
- formación
forma
((n - 1) * steps + 1, ...)
- matplotlib.cbook. strip_math ( s ) [fuente] #
Elimina el formato látex de texto matemático.
Solo maneja cadenas completamente matemáticas y completamente no matemáticas.
- matplotlib.cbook. to_filehandle ( fname , flag = 'r' , return_opened = False , encoding = None ) [fuente] #
Convierta una ruta en un identificador de archivo abierto o pase a través de un objeto similar a un archivo.
Considere usar
open_file_cm
en su lugar, ya que permite cerrar correctamente los objetos de archivo recién creados con mayor facilidad.- Parámetros :
- fname str o similar a una ruta o similar a un archivo
Si
str
oos.PathLike
, el archivo se abre usando las banderas especificadas por bandera y codificación . Si es un objeto similar a un archivo, se pasa a través de él.- bandera str, por defecto: 'r'
Pasado como argumento de modo
open
cuando fname esstr
oos.PathLike
; ignorado si fname es como un archivo.- return_opened bool, predeterminado: Falso
Si es Verdadero, devuelve tanto el objeto de archivo como un valor booleano que indica si se trata de un archivo nuevo (que la persona que llama debe cerrar). Si es False, devuelve solo el archivo nuevo.
- codificando str o Ninguno, por defecto: Ninguno
Pasado como argumento de modo
open
cuando fname esstr
oos.PathLike
; ignorado si fname es como un archivo.
- Devoluciones :
- tipo archivo fh
- libro abierto
open solo se devuelve si return_opened es True.
- matplotlib.cbook. violin_stats ( X , método , puntos = 100 , cuantiles = Ninguno ) [fuente] #
Devuelve una lista de diccionarios de datos que se pueden usar para dibujar una serie de diagramas de violín.
Consulte la
Returns
sección a continuación para ver las claves requeridas del diccionario.Los usuarios pueden omitir esta función y pasar un conjunto de diccionarios definidos por el usuario con las mismas claves en
violinplot
lugar de usar Matplotlib para hacer los cálculos. Consulte la sección Devoluciones a continuación para conocer las claves que deben estar presentes en los diccionarios.- Parámetros :
- tipo matriz X
Datos de muestra que se utilizarán para producir las estimaciones de densidad del núcleo gaussiano. Debe tener 2 o menos dimensiones.
- método invocable
El método utilizado para calcular la estimación de densidad kernel para cada columna de datos. Cuando se llama a través de , debe devolver un vector de los valores de KDE evaluados en los valores especificados en coords.
method(v, coords)
- puntos int, por defecto: 100
Define el número de puntos para evaluar cada una de las estimaciones de densidad del núcleo gaussiano.
- cuantiles en forma de matriz, predeterminado: Ninguno
Define (si no es Ninguno) una lista de flotantes en el intervalo [0, 1] para cada columna de datos, que representa los cuantiles que se representarán para esa columna de datos. Debe tener 2 o menos dimensiones. La matriz 1D se tratará como una lista única que los contiene.
- Devoluciones :
- lista de dictados
Una lista de diccionarios que contienen los resultados de cada columna de datos. Los diccionarios contienen al menos lo siguiente:
coords: una lista de escalares que contienen las coordenadas en las que se evaluó esta estimación de densidad de kernel en particular.
vals: una lista de escalares que contienen los valores de la estimación de la densidad del kernel en cada una de las coordenadas dadas en coords .
media: el valor medio de esta columna de datos.
mediana: El valor de la mediana para esta columna de datos.
min: El valor mínimo para esta columna de datos.
max: El valor máximo para esta columna de datos.
cuantiles: los valores cuantiles para esta columna de datos.