了解matplotlib:plt,fig,ax(arr)吗?

发布于 2021-01-29 17:06:53

我并不陌生matplotlib,我很as愧地承认我一直将它用作尽可能快速,轻松地获得解决方案的工具。因此,我知道如何获取基本图,子图和东西,并且有很多代码会不时地被重用…但是我不具备的“较深知识”
matplotlib

最近,我认为我应该更改此设置,并通过一些教程来完成自己的工作。不过,我仍然感到困惑matplotlibs
pltfig(ure)ax(arr)。真正的区别是什么?

在大多数情况下,对于某些“快速而肮脏的”绘图,我看到人们使用公正pyplot as plt而直接的绘图plt.plot。由于我经常要绘制多个内容,因此我经常使用f, axarr = plt.subplots()…但是大多数情况下,您只会看到放置数据的代码进入axarr并忽略了这个数字f

所以,我的问题是:使用matplotlib的一种干净方法是什么?plt仅何时使用,用途是什么figure?子图是否应该仅包含数据?还是对子图内部的样式,清理地块等所有内容有效且良好的做法?

我希望这不是范围广泛的。基本上我是在为plt<-> fig<->的真正目的ax(arr)(以及何时/如何正确使用它们)寻求一些建议。

教程也将受到欢迎。matplotlib文档让我很困惑。当人们搜索真正特定的东西时,例如重新设置图例,使用不同的绘图标记和颜色等等,官方文档确实很精确,但我认为一般信息并不是那么好。太多不同的示例,没有目的的真实解释…看起来或多或少像所有可能的API方法和参数的大清单。

关注者
0
被浏览
61
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    pyplot是matplotlib中的“脚本”级API(它是matplotlib的主要功能)。它允许您使用过程接口来使用matplotlib,方法与使用Matlab时类似。pyplot所有功能都委托给“当前图形”和“当前轴”的概念(@tacaswell
    dixit)。因此,当您使用模块上的可用功能时,将pyplot绘制到“当前图形”和“当前轴”。

    如果您想对绘制的位置/内容进行“细粒度”控制,则应使用Figure和的实例使用面向对象的API Axes

    中提供的功能在中pyplot具有等效的方法Axes

    matplotlib的回购解剖图中

    • Figure是在这个层次结构中的顶级容器。这是绘制所有内容的整体窗口/页面。您可以具有多个独立的图形,并且Figure可以包含多个轴。

    但…

    • 大多数绘图发生在Axes。轴实际上是我们在其上绘制数据以及与之关联的所有刻度线/标签/等的区域。通常我们会建立一个Axes与以副区调用(哪个地方Axes经常网格),所以在大多数情况下,Axes并且Subplot是同义的。

    • 每个Axes都有一个XAxis和YAxis。这些包含刻度,刻度位置,标签等。

    如果您想了解情节的解剖结构,则可以访问此链接



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看