Plotar funções simples como seno de x com IPython

1

Meu professor planejou algumas funções com o Jupyter Notebook ou o IPython. Eu instalei o Jupyter Notebook e tenho a tela inicial, mas como posso plotar uma função?

Eu já tentei: plot sin(x) , mas recebo esta mensagem:

  File "<ipython-input-4-7979a129f00f>", line 1
    plot sin(x)
           ^
SyntaxError: invalid syntax

    
por Stap Denisov 03.11.2016 / 15:14

1 resposta

6

Do tipo de terminal:

sudo apt-get install ipython-notebook python-numpy python-matplotlib  

A versão mais recente do IPython Notebook é agora conhecida como o Notebook Jupyter. Você pode, opcionalmente, instalar o Jupyter Notebook em vez do IPython Notebook. No Ubuntu 14.04 / 16.04 / 16.10 siga as instruções em esta resposta para instalar o Jupyter Notebook atualizando o IPython Notebook para o Jupyter Notebook. No Ubuntu 17.04 e 17.10 você pode instalar o Jupyter Notebook dos repositórios padrão do Ubuntu com o comando sudo apt install jupyter-notebook jupyter-core python-ipykernel . No Ubuntu 18.04 e posterior, você pode instalar o Jupyter Notebook dos repositórios padrão do Ubuntu com o comando sudo apt install python3-notebook jupyter-core python-ipykernel . python-ipykernel é necessário para executar programas Python 2.x no Jupyter Notebook, que de outra forma suporta apenas o Python 3.x. Se o Jupyter Notebook estiver instalado, o comando para iniciar o Jupyter será jupyter notebook e a primeira linha de código para permitir a plotagem no bloco de notas atual será %matplotlib inline .

Siga estas etapas para gerar o gráfico de onda senoidal no exemplo de matplotlib.org .

  1. Abra a interface do navegador da Web ipython-notebook. A partir do terminal:

    ipython notebook --pylab  
    

    A opção --pylab foi removida quando fizeram a transição do IPython para o notebook Jupyter. Em vez disso, use jupyter notebook para iniciar o Jupyter.

  2. Crie um novo caderno. Na interface do IPython Notebook, clique no botão Novo caderno . Uma nova guia do notebook será aberta no navegador da Web padrão. Na nova guia do bloco de notas, selecione Arquivo - > Renomeie , renomeie seu novo bloco de anotações para qualquer nome descritivo como sine_wave e clique no botão OK .

  3. Copie o exemplo de código Python para representar uma onda senoidal listada abaixo e cole-a no bloco de anotações sine_wave à direita de onde diz In [1]: usando a combinação de teclas Ctrl + V . Cole todo o bloco de código juntos, não uma linha por vez.

    import matplotlib.pyplot as plt  
    import numpy as np  
    
    t = np.arange(0.0, 2.0, 0.01)  
    s = np.sin(2*np.pi*t)  
    plt.plot(t, s)  
    
    plt.xlabel('time (s)')  
    plt.ylabel('voltage (mV)')  
    plt.title('voltage (mV) vs. time (sec)')   
    plt.grid(True)  
    plt.savefig("plot-voltage-vs.-time.png")  
    plt.show()  
    

    plt.savefig("plot-voltage-vs.-time.png") salva uma imagem do seu gráfico sem todo o acréscimo de cromo de janela no seu diretório inicial.

  4. Clique no botão Executar na forma triangular preta () na barra de menus para executar o bloco de código.

  5. Seu gráfico de saída aparecerá em uma pequena janela pop-up que se parece com a janela pop-up na captura de tela abaixo.

  6. Repita as etapas 3 e 4. para executar um novo bloco de código ( In [2]: ). Tente colar o seguinte código Python simples após In [2]: e executá-lo.

    import matplotlib.pyplot as plt  
    import numpy as np 
    
    x = np.arange(0.0, 2.0, 0.01)
    y = np.sin(2*np.pi*x)
    plt.plot(x, y)
    plt.show()  
    

A mensagem de erro ImportError: No module named 'matplotlib' foi causada pelo uso do Python 3 com o Jupyter instalado para o Python 2.x. É possível usar o Python 3 no Jupyter Notebook for Python 2 adicionando o kernel para o Python 2. Se você estiver executando o Jupyter no Python 3, você pode configurar um kernel do Python 2 como este:

python2 -m pip install ipykernel
python2 -m ipykernel install --user
    
por karel 03.11.2016 / 16:03