大多数人不会花大量时间去学 matplotlib 库,仍然可以实现绘图需求,因为已经有人在 stackoverflow、github 等开源平台上提供了绝大多数画图问题的解决方案。我们通常会使用 google 来完成绘图需求。至少我是这样。
Matlibplot 提供了多种绘图 UI ,可进行如下分类 :
-
弹出窗口和交互界面: %matplotlib qt 和 %matplot tk
-
非交互式内联绘图: %matplotlib inline
-
交互式内联绘图: %matplotlib notebook-->别用这个,它会让开关变得困难。
2.理解 matplotlib 对象结构
pyplot 是一个 matplotlib 面向对象的函数接口。
plt.gca()
它返回当前 plot() 关联的轴
如果不使用 plt.close() ,则会显示出空的图形。因为在开始时使用了 inline 命令。
axis_id 仍然是相同的,但是当我们移动到另一个 Notebook 块时, plt.gca() 会发生变化。
当我们使用 axes[i] 时,我们可以调用任何之前的代码块中的任何 axes 对象,但是调用 plt.bla() ,会在每个代码块中创建新的 axes 对象,并只调用当前对象。因此,上面例子中,只在 plt.title() 被调用时,才创建新 plt 对象。
重要观察: 我们通常在当前 axis 对象上调用 plt.bla(),这种语法使得每个代码块中的 axis 对象都是新创建的。但是通过调用 fig.axes[0] ,我们也可以从任何代码块中处理之前的 axes 对象。
来自: https://matplotlib.org/faq/usage_faq.html
4.绘图的基本例子
如何作图的基本例子,涵盖面向对象绘图的各个方面。请仔细阅读。
总结上面的例子:
-
我们创建 1 行和 2 列的图形。即,1 行和 2 列中的 2 个 axes 对象。
思路是把上面的图形考虑成为 2x4 网格。然后将多个网格分配给单个图以容纳所需的图形。
重点:
-
我们可以使用 subplot2grid 定制我们的绘图布局。
-
我们可以用 plt.figure() 创建无 axes 对象的图形,然后手动添加 axes 对象。
-
我们可以使用 fig.suptitle() 来设置整个图形的总标题。
7.线条样式和线条宽度
改变线条宽度、颜色或风格。
8.基本的数据分布
EDA 过程中的必要操作。
9.二维数组的等高线图和颜色网格图
热像图(颜色网格图)和等高线图在很多情况下都有助于可视化 2D 数据。
10.图像的调整、修改边缘坐标和标度
最后调整细节,让绘图变得更好看。
11.标度的限制和自动调整
13.轴线
14.结束
博客原址: https://www.kaggle.com/grroverpr/matplotlib-plotting-guide/notebook
也欢迎大家关注我的博客或者公众号哦:https://home.cnblogs.com/u/Python1234/ Python学习交流