¿Qué es un buen backend predeterminado para matplotlib?

¿Qué es un buen backend predeterminado para matplotlib?

He decidido configurar un archivo personalizado matplotlibrcy, por lo tanto, necesito elegir un servidor para él matplotlib. ¿Cuál es el mejor en términos de no necesitar instalar otros paquetes adicionales?

Tiendo a usar matplotlibvia ipython --pylab, por lo que quiero gráficos interactivos basados ​​en ventanas (cuando no los uso, puedo cambiar a Agg).

Lo he intentado WXAgg, pero esto requiere (con bastante sensatez) WX.

Respuesta1

Ambos Aggy TkAggno requieren ninguna dependencia más allá de la biblioteca estándar de Python.

He tenido algunos problemas con TkAggsubprocesos múltiples, por lo que si solo necesita guardar en archivos (y no plt.show()), recomendaría usarlo Aggen su lugar (simplemente reemplácelo donde TkAggaparece a continuación).

Agregue la siguiente línea a su ~/.config/matplotlib/matplotlibrc:

backend: TkAgg

O las siguientes líneas a su archivo Python:

import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt

Respuesta2

import matplotlib
matplotlib.use('Qt5Agg')
import matplotlib.pyplot as plt
import numpy as np


x = np.linspace(0,1,100)
y = np.sin(x)

plt.plot(x,y)
plt.show()

PyQt5 es el mejor backend para Matplotlib que yo sepa. Permite todas las ediciones incluso después de ejecutar su programa. Para usarlo,

import matplotlib
matplotlib.use('Qt5Agg')

pon esto primero antes de llamar

import matplotlib.pyplot as plt

Nota: necesitas instalar PyQt5

para instalación a través de pip, ejecute el comando

pip install PyQt5

Respuesta3

Prefiero los gráficos en línea con matplotlib a los gráficos en una ventana separada porque hace que sea más fácil ver lo que estoy haciendo cuando estoy ajustando el código Python.

IDE de Python para científicos (espía) puede realizar trazados en línea. Para probar esta función, abra la terminal y escriba:

sudo apt install python2.7 python-matplotlib spyder ipython # Python 2.x in Ubuntu 18.04 and earlier 

o

sudo apt install python3 python3-matplotlib spyder3 ipython3 # Python 3.x  

Después del mensaje de ipython en la consola de IPython, copie/pegue el siguiente código y presione la Entertecla para ejecutarlo.

import matplotlib.pyplot as plt   
x, y = [-1, 12], [1, 4]  
plt.plot(x, y, marker = 'o')  

ingrese la descripción de la imagen aquí

El editor de texto Atom con el paquete Hydrogen para Atom instalado también puede realizar gráficos en línea. Encuentro que la interfaz Atom es más complicada de configurar que Spyder, en la que el trazado en línea con matplotlib funciona de inmediato. Comencé con el trazado en línea en Atom porque también quería usar Atom para crear trazados en línea con otros lenguajes de programación.

información relacionada