使用 IPython 绘制简单的函数,例如 x 的正弦

Sta*_*sov 2 python ipython matplotlib jupyter plot

我的老师用 Jupyter Notebook 或 IPython 绘制了一些函数。我已经安装了 Jupyter Notebook 并拥有主屏幕,但我如何绘制函数?

我已经尝试过:plot sin(x)但我收到此消息:

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

截屏

kar*_*rel 8

在 Ubuntu 16.04 及更早版本中,打开终端类型:

sudo apt install ipython-notebook python-numpy python-matplotlib  
Run Code Online (Sandbox Code Playgroud)

最新版本的 IPython Notebook 现在称为 Jupyter Notebook。您可以选择安装 Jupyter Notebook 而不是 IPython Notebook。在 Ubuntu 14.04/16.04/16.10 中,按照此答案中的说明通过将 IPython Notebook 升级到 Jupyter Notebook 来安装 Jupyter Notebook。在 Ubuntu 17.04 和 17.10 中,您可以使用命令从默认的 Ubuntu 存储库安装 Jupyter Notebook sudo apt install jupyter-notebook jupyter-core python-ipykernel。在 Ubuntu 18.04-19.10 中,您可以使用命令从默认的 Ubuntu 存储库安装 Jupyter Notebook 。如果安装了 Jupyter Notebook,则启动 Jupyter 的命令是,并且在当前 Notebook 中启用绘图的第一行代码是.sudo apt install python3-notebook jupyter jupyter-core python-ipykernel。python-ipykernel 是在 Jupyter Notebook 中运行 Python 2.x 程序所必需的,否则它仅支持 Python 3.x。在 Ubuntu 20.04 及更高版本中,您可以使用以下命令从默认的 Ubuntu 存储库安装 Jupyter Notebooksudo apt install jupyter-notebook jupyterjupyter notebook%matplotlib inline

按照以下步骤在matplotlib.org示例中生成正弦波图。

  1. 打开 ipython-notebook 网络浏览器界面。从终端运行:

     ipython notebook --pylab  
    
    Run Code Online (Sandbox Code Playgroud)

    --pylab当他们从 IPython 过渡到 Jupyter notebook 时,这个选项被删除了。而是用于jupyter notebook启动 Jupyter。

  2. 做一个新的笔记本。在 IPython Notebook 界面中,单击New Notebook按钮。一个新的笔记本选项卡将在您的默认 Web 浏览器中打开。从新笔记本选项卡中选择File -> Rename,将您的新笔记本命名为任何描述性名称,如sine_wave,然后单击OK按钮。

  3. 复制下面列出的用于绘制正弦波的示例 Python 代码,然后In [1]:使用键盘组合Ctrl+将其粘贴到 sine_wave 笔记本的右侧V。将整个代码块粘贴在一起,而不是一次一行。

     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()  
    
    Run Code Online (Sandbox Code Playgroud)

    plt.savefig("plot-voltage-vs.-time.png") 在主目录中保存没有所有额外窗口镶边的绘图图像。

  4. 单击菜单栏上的黑色三角形运行按钮 ( ? ) 以运行代码块。

  5. 您的输出图将出现在一个小的弹出窗口中,该窗口类似于下面屏幕截图中的弹出窗口。

输出图

  1. 重复步骤 3. 和 4. 以运行新代码块 ( In [2]:)。尝试粘贴以下简单的 Python 代码In [2]:并运行它。

     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()  
    
    Run Code Online (Sandbox Code Playgroud)

该错误消息ImportError: No module named 'matplotlib'是由于将 Python 3 与为 Python 2.x 安装的 Jupyter 一起使用引起的。通过为 Python 2 添加内核,可以在 Jupyter Notebook for Python 2 中使用 Python 3。如果您在 Python 3 上运行 Jupyter,您可以像这样设置 Python 2 内核:

python2 -m pip install ipykernel
python2 -m ipykernel install --user
Run Code Online (Sandbox Code Playgroud)