Estou usando IPython com --pylab=inline
e às vezes gostaria de mudar rapidamente para a GUI matplotlib interativa e com zoom para visualizar plotagens (aquela que aparece quando você plota algo em um console Python de terminal). Como posso fazer isso? De preferência sem sair ou reiniciar meu notebook.
O problema com plotagens embutidas em notebooks IPy é que eles têm uma resolução limitada e não consigo ampliá-los para ver algumas partes menores. Com a GUI do maptlotlib que começa em um terminal, posso selecionar um retângulo do gráfico no qual desejo ampliar e os eixos se ajustam de acordo. Eu tentei experimentar
from matplotlib import interactive
interactive(True)
e
interactive(False)
mas isso não fez nada. Não consegui encontrar nenhuma dica online também.
python
matplotlib
jupyter-notebook
metakermit
fonte
fonte
%matplotlib notebook
funcionaRespostas:
De acordo com a documentação , você deve ser capaz de alternar desta forma:
e isso irá abrir uma janela normal de plotagem (pode ser necessário reiniciar o notebook).
Eu espero que isso ajude.
fonte
%pylab qt
. Não funciona no OS X. Talvez no Ubuntu ajude.Se tudo o que você deseja fazer é alternar de gráficos embutidos para interativos e vice-versa (para que você possa aplicar panorâmica / zoom), é melhor usar a magia% matplotlib.
e de volta ao html
% pylab magic importa um monte de outras coisas e pode até resultar em um conflito. Ele faz "da importação do pylab *".
Você também pode usar o novo back-end do notebook (adicionado no matplotlib 1.4):
Se você quiser ter mais interatividade em seus gráficos, pode olhar para mpld3 e bokeh . mpld3 é ótimo, se você não tem toneladas de pontos de dados (por exemplo, <5k +) e deseja usar a sintaxe matplotlib normal, mas mais interatividade, em comparação com o bloco de notas% matplotlib. O Bokeh pode lidar com muitos dados, mas você precisa aprender sua sintaxe, pois é uma biblioteca separada.
Além disso, você pode verificar pivottablejs (pip install pivottablejs)
Por mais interessante que seja a exploração de dados interativa, ela pode bagunçar totalmente a reprodutibilidade. Aconteceu comigo, então tento usá-lo apenas no estágio inicial e mudar para matplotlib / seaborn puro em linha, assim que tenho os dados.
fonte
Warning: Cannot change to a different GUI toolkit: notebook. Using qt instead.
para%matplotlib notebook
.ImportError: Failed to import any qt binding
para o comando qt magicA partir do matplotlib 1.4.0, agora há um backend interativo para uso no notebook
Existem algumas versões do IPython que não têm esse alias registrado, o fallback é:
Se isso não funcionar, atualize seu IPython.
Para brincar com isso, vá para tmpnb.org
e colar
em uma célula de código (ou apenas modifique o bloco de notas de demonstração Python existente)
fonte
Uma solução melhor para o seu problema pode ser a biblioteca de gráficos . Ele permite que você use a excelente biblioteca javascript Highcharts para fazer plotagens bonitas e interativas. Highcharts usa a
svg
tag HTML para que todos os seus gráficos sejam, na verdade, imagens vetoriais.Algumas funcionalidades:
Isenção de responsabilidade: eu sou o desenvolvedor da biblioteca
fonte
Estou usando ipython no "jupyter QTConsole" do Anaconda em www.continuum.io/downloads em 28/05/20117.
Aqui está um exemplo para alternar entre uma janela separada e um modo de plotagem embutida usando magia ipython.
fonte
%matplotlib
, recebo um erro que termina comImportError: No module named 'PyQt4'
sudo apt-get install python-pyqt5
ousudo apt-get install python-pyqt5
Reinicie o kernel e limpe a saída (se não estiver começando com o novo notebook), então execute
Para obter mais informações, vá para Plotando com matplotlib
fonte
Você pode usar
%matplotlib qt
Se você obteve o erro
ImportError: Failed to import any qt binding
, instale o PyQt5 como:pip install PyQt5
e ele funciona para mim.fonte