Decidi configurar um matplotlibrc
arquivo matplotlib
. Qual é o melhor em termos de não precisar instalar outros pacotes adicionais?
Costumo usar matplotlib
via 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 Agg
e TkAgg
não requerem dependências além da biblioteca padrão do Python.
Tive alguns problemas com TkAgg
multithreading, então se você precisar apenas salvar em arquivos (e não plt.show()
), recomendo usar Agg
(basta substituí-lo onde TkAgg
aparece 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')
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.