![](https://csdnimg.cn/release/download_crawler_static/47678530/bg1.jpg)
matplotlib 绘图基础
matplotlib 介绍
matplotlib 是 Python 最著名的绘图库,它提供了一整套和matlab 相似的命令 API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI 应用程序中。它的文
档相当完备,并且 Gallery 页面 中有上百幅缩略图,打开之后都有源程序。因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定。
在 Linux 下比较著名的数据图工具还有 gnuplot,这个是免费的,Python 有一个包可以调用 gnuplot,但是语法比较不习惯,而且画图质量不高。而 Matplotlib 则比较强:Matlab 的语法、
python 语言、latex 的画图质量(还可以使用内嵌的latex 引擎绘制的数学公式)。
可以在 Ipython 中输入类似"plt.plot??"的命令查看 pyplot 模块的函数是如何对各种绘图对象进行包装的。
matplotlib 实际上是一套面向对象的绘图库,它所绘制的图表中的每个绘图元素,例如线条Line2D、文字 Text、刻度等在内存中都有一个对象与之对应。
为了方便快速绘图 matplotlib 通过 pyplot 模块提供了一套和 MATLAB 类似的绘图 API,将众多绘图对象所构成的复杂结构隐藏在这套API 内部。我们只需要调用pyplot 模块所提供的函数就可以
实现快速绘图以及设置图表的各种细节。pyplot 模块虽然用法简单,但不适合在较大的应用程序中使用。
为了将面向对象的绘图库包装成只使用函数的调用接口,pyplot 模块的内部保存了当前图表以及当前子图等信息。当前的图表和子图可以使用 plt.gcf()和 plt.gca()获得,分别表示"Get Current
Figure"和"Get Current Axes"。在 pyplot 模块中,许多函数都是对当前的Figure 或 Axes 对象进行处理,比如说:
plt.plot()实际上会通过 plt.gca()获得当前的 Axes 对象 ax,然后再调用 ax.plot()
如,用下面的代码先获得 axes 对象再用 ax 来操作
地如设置 xy 轴的 tickers 就要用 ax.yaxis 来操作
ax.yaxis.set_minor_locator(yminorLocator)
ImportError: libBLT.2.4.so.8.6: cannot open shared object file: No such file or directory, please install the python3-tk package
[import matplotlib.pyplot as plt fails with error about python-tk]
检测是否安装成功:
>>> matplotlib.__version__
数学系的说 Mathematica 高贵冷艳
统计系的说 R 语言作图领域天下无敌
计算机系的说 Python 低调奢华有内涵
[如何在论文中画出漂亮的插图]
matplotlib.pyplot 模块 - 快速绘图
matplotlib 的 pyplot 子库提供了和 matlab 类似的绘图 API,方便用户快速绘制 2D 图表。
1.调用 figure 创建一个绘图对象,并且使它成为当前的绘图对象。(可选)
plt.figure(figsize=(8,4))
也可以不创建绘图对象直接调用接下来的plot 函数直接绘图,matplotlib 会为我们自动创建一个绘图对象!!