码迷,mamicode.com
首页 > 编程语言 > 详细

Python Matplotlib 绘图使用指南!秘籍已传授给你了!

时间:2018-05-24 18:12:58      阅读:337      评论:0      收藏:0      [点我收藏+]

标签:inline   ima   github   EDA   sub   .com   http   技术   agg   

技术分享图片

大多数人不会花大量时间去学 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学习交流

 欢迎加入我的千人交流答疑群:125240963

Python Matplotlib 绘图使用指南!秘籍已传授给你了!

标签:inline   ima   github   EDA   sub   .com   http   技术   agg   

原文地址:https://www.cnblogs.com/Python1234/p/9083742.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!