O que é um bom back-end padrão para matplotlib

O que é um bom back-end padrão para matplotlib

Decidi configurar um matplotlibrcarquivo matplotlib. Qual é o melhor em termos de não precisar instalar outros pacotes adicionais?

Costumo usar matplotlibvia ipython --pylab, então quero gráficos interativos baseados em janelas (quando não o faço, posso mudar para Agg).

Eu tentei WXAgg, mas isso requer (de forma sensata) WX.

Responder1

Ambos Agge TkAggnão requerem dependências além da biblioteca padrão do Python.

Tive alguns problemas com TkAggmultithreading, então se você precisar apenas salvar em arquivos (e não plt.show()), recomendo usar Agg(basta substituí-lo onde TkAggaparece abaixo).

Adicione a seguinte linha ao seu ~/.config/matplotlib/matplotlibrc:

backend: TkAgg

Ou as seguintes linhas no seu arquivo python:

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

Responder2

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 é o melhor back-end para Matplotlib, pelo que sei. Ele permite todas as edições mesmo depois de executar o programa. Para usá-lo,

import matplotlib
matplotlib.use('Qt5Agg')

coloque isso primeiro antes de ligar

import matplotlib.pyplot as plt

Nota: você precisa instalar o PyQt5

para instalação via pip, execute o comando

pip install PyQt5

Responder3

Prefiro gráficos embutidos com matplotlib a gráficos em uma janela separada porque torna mais fácil ver o que estou fazendo quando estou ajustando o código Python.

IDE Python para cientistas (espião) pode fazer plotagem in-line. Para experimentar este recurso abra o terminal e digite:

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

ou

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

Após o prompt do ipython no console do IPython, copie/cole o código abaixo e pressione a Entertecla para executá-lo.

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

insira a descrição da imagem aqui

O editor de texto Atom com o pacote Hydrogen para Atom instalado também pode fazer plotagem inline. Acho a interface Atom mais complicada de configurar do que o Spyder, no qual a plotagem embutida com matplotlib funciona imediatamente. Comecei com a plotagem inline no Atom porque queria usar o Atom para fazer plotagens inline também com outras linguagens de programação.

informação relacionada