打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
python – 理解matplotlib:plt,figure,ax(arr)?

我并不是matplotlib的新手,我很惭愧地承认我一直把它作为一种工具,尽可能快速简便地获得解决方案.所以我知道如何获得基本图,子图和东西,并且有不少代码可以不时重复使用……但我没有matplotlib的“深层次知识”.

最近我想我应该改变这个并通过一些教程自己动手.但是,我仍然对matplotlibs plt,fig(ure)和ax(arr)感到困惑.真正的区别是什么?

在大多数情况下,对于一些“quick’n’dirty”绘图,我看到人们只使用pyplot作为plt并直接用plt.plot绘图.由于我经常使用多种东西进行绘图,我经常使用f,axarr = plt. subplots()…但是大多数时候你只看到将数据放入axarr并忽略图f的代码.

所以,我的问题是:什么是使用matplotlib的干净方式?何时仅使用plt,数字应该用于什么或应该用于什么?子图是否只包含数据?或者,对于样式,清理情节,……,在子图中,它是否有效且良好的做法?

我希望这不是广泛的.基本上我要求为plt< - >的真正目的提出一些建议.无花果< - > ax(arr)(以及何时/如何正确使用它们).

教程也是受欢迎的. matplotlib文档对我来说相当混乱.当人们搜索一些非常具体的东西时,比如重新标记一个图例,不同的情节标记和颜色等等,官方文档确实非常准确,但在我看来,一般信息并不是那么好.太多不同的例子,没有真正的目的解释……看起来或多或少像是所有可能的API方法和参数的大清单.

解决方法:

pyplot是matplotlib中的“脚本级”API(它是使用matplotlib做很多事情的最高级API).它允许您使用程序界面使用matplotlib,方法与使用Matlab进行操作相似. pyplot有一个’当前数字’和’当前轴’的概念,所有功能都委托给它(@tacaswell dixit).因此,当您使用模块pyplot上的可用功能时,您将绘制到“当前图形”和“当前轴”.

如果你想要“细粒度”控制你正在绘制的位置/什么,那么你应该使用图形和轴的实例来使用面向对象的API.

pyplot中可用的函数在Axes中具有等效方法.

来自repo anatomy of matplotlib

>图是此层次结构中的顶级容器.这是整个窗口/页面,所有内容都是绘制的.您可以拥有多个独立的数字,数字可以包含多个轴.

但…

>大多数绘图都发生在Axes上.轴实际上是我们绘制数据的区域以及与之相关的任何刻度/标签/等.通常我们将设置一个Axes,调用subplot(将Axes置于常规网格上),因此在大多数情况下,Axes和Subplot是同义词.
>每个轴都有一个XAxis和一个YAxis.这些包含刻度线,刻度线位置,标签等.

如果你想知道情节的解剖,你可以访问这个<a href="http://nbviewer.jupyter.org/github/WeatherGod/AnatomyOfMatplotlib/blob/master/AnatomyOfMatplotlib-Part1-Figures_Subplots_and_layouts.ipynb#Anatomy-of-a-" plot" rel="noreferrer">link.

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
matplotlib实现一页多图
如何使用Python中最强大的可视化工具Matplotlib
Python绘图库之Seaborn(一)
Matplotlib基础绘图功能
Matplotlib使用(2)
Matplotlib入门(一)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服