有许多不同的Python数据可视化库。但是,在所有库中,Matplotlib很容易成为最受欢迎和使用最广泛的库。使用Matplotlib,您可以创建简单和复杂的可视化文件。
Jupyter笔记本是共享数据科学和数据分析项目,代码以及可视化的最受欢迎的方法之一。尽管您可能知道如何使用Matplotlib可视化数据,但您可能不知道如何在Jupyter笔记本中使用Matplotlib。
在本文中,我们将介绍如何使用IPython Notebook内联绘制Matplotlib图。
它还将涵盖Matplotlib“内联”和“笔记本”魔术方法的用途,这些方法用于设置Matplotlib后端。
设置IPython
Jupyter笔记本是交互式的,如果它们允许您以可复制的格式与其他程序员和分析师共享您的工作,则可以。但是,在使用Jupyter笔记本电脑之前,您需要先安装它。
安装Jupyter笔记本电脑最简单,最简单的方法是使用程序包管理器。如果使用的是Conda,则可以使用以下命令安装Jupyter文件系统:
$ conda install -c conda-forge notebook
如果您使用的是pip,则可以使用以下命令来安装Jupyter:
$ pip install notebook
安装Jupyter实验室之后,您可以通过打开命令行并使用以下直观命名的命令提示符来启动Jupyter笔记本的实例:
Jupyter Notebook
然后,您可以通过将浏览器指向以下URL来访问Jupyter笔记本:
http://localhost:8888/tree?
导入数据并可视化数据
我们将使用著名的Tips数据集。
我们将导入Pandas来读取.csv
文件以及matplotlib.pyplot
进行可视化。之后,我们可以构建一个简单的散点图:
![9ebedfbb98613b62abdca63ce5773e80.png](https://i-blog.csdnimg.cn/blog_migrate/cca0ee644eabf30659049bcd375b1247.jpeg)
通常,这就是在Jupyter笔记本中可视化数据的方式。但是,如果您以当前形式与某人共享此笔记本,则他们必须自己运行代码才能看到可视化效果。
如果您希望将可视化本身包含在笔记本主体中,请使用该inline
命令,该命令引用了Matplotlib后端。
Matplotlib后端
通常,显示图涉及使用show()
PyPlot中的函数。对于Jupyter笔记本,这是没有必要的,因为在运行包含生成它们的代码的单元格之后会显示图。这些图默认为内联显示,这意味着它们显示在笔记本本身中。
但是,您也可以在笔记本外部显示绘图,这可以通过更改Matplotlib后端来完成。Jupyter会自动设置Matplotlib后端,但是可以使用魔术函数来覆盖它,该魔术函数可以用%
字符调用。
使用IPython / Jupyter在外部窗口上绘制Matplotlib图
让我们开始尝试从笔记本上绘制外部窗口:
%matplotlib qt
在这里,我们已经告诉Jupyter笔记本使用Qt在本地计算机上生成框架。此函数调用位于Matplotlib导入之前:
![41e4ab2d9ab65ffa2cf1dc5d1a8607aa.png](https://i-blog.csdnimg.cn/blog_migrate/529721c9aac344cf323b72a70bc6b646.jpeg)
Matplotlib使用IPython / Jupyter绘制内联图(内联)
某些版本的Jupyter可能无法正确设置Matplotlib的后端,并且无法内嵌渲染图形。在这种情况下,可以以两种方式之一来强制进行内联绘图。
您可以设置inline
函数,而不是qt
强制Jupyter内联显示绘图:
%matplotlib inline
这有助于确保打开笔记本的任何人都可以看到可视化效果,而无需重新运行代码单元:
![488738617d7b465ae29cea4798f95f41.png](https://i-blog.csdnimg.cn/blog_migrate/45411a1a4f1f3f2e5e99e0177b0cf173.jpeg)
Matplotlib使用IPython / Jupyter绘制内联图(notebook)
在笔记本中渲染Matplotlib图的第二种方法是使用notebook
后端:
%matplotlib notebook
使用%matplotlib notebook
可以创建嵌入在笔记本本身中的交互式绘图,从而允许查看笔记本的用户执行诸如调整图形尺寸或放大图形的操作:
![d38b94bd6b9f7bd02a9229b028fc8df1.png](https://i-blog.csdnimg.cn/blog_migrate/75b5d78a46c659da9455347661ce3fb6.png)
结论
在本教程中,我们介绍了如何在IPython / Jupyter笔记本中进行外部绘制(使用Qt)和内联绘制(使用inline
andnotebook
魔术函数)。