gpt4 book ai didi

python - 了解matplotlib : plt,图,ax(arr)?

转载 作者:IT老高 更新时间:2023-10-28 22:22:50 26 4
gpt4 key购买 nike

我对 matplotlib 并不陌生,我很惭愧地承认我一直将它用作尽可能快速和轻松地获得解决方案的工具。所以我知道如何获得基本的情节、子情节和其他东西,并且有不少代码不时被重用......但我对 matplotlib 没有“深入的(呃)知识”。

最近我想我应该改变这一点并通过一些教程自己工作。但是,我仍然对 matplotlibs pltfig(ure)ax(arr) 感到困惑。真正的区别是什么?

在大多数情况下,对于一些“quick'n'dirty”绘图,我看到人们只使用 pyplot as plt 并直接使用 plt.plot 绘图。因为我是有很多东西要经常绘制,我经常使用 f, axarr = plt.subplots()...但大多数时候你只看到代码将数据放入 axarr 和忽略图 f.

所以,我的问题是:什么是使用 matplotlib 的干净方式?什么时候只使用 pltfigure 是做什么用的?子图应该只包含数据吗?还是对子图中的样式、清除情节等所有事情都是有效且良好的做法?

我希望这不是广泛的。基本上,我正在就 plt <-> fig <-> ax(arr) 的真正目的(以及何时/如何正确使用它们)。

也欢迎提供教程。 matplotlib 文档让我很困惑。当一个人搜索一些非常具体的东西时,比如重新调整图例、不同的绘图标记和颜色等等,官方文档确实很精确,但在我看来,一般信息并不是那么好。太多不同的例子,没有真正的目的解释......看起来或多或少像是所有可能的 API 方法和参数的大列表。

最佳答案

pyplot 是 matplotlib 中的“脚本”级 API(它与 matplotlib 一起做很多事情的最高级别 API)。它允许您以与使用 Matlab 类似的方式使用程序界面来使用 matplotlib。 pyplot 有一个“当前图形”和“当前轴”的概念,所有函数都委托(delegate)给 (@tacaswell dixit)。因此,当您使用模块 pyplot 上可用的功能时,您将绘制到“当前图形”和“当前轴”。

如果您想要“细粒度”控制您正在绘制的位置/内容,那么您应该使用面向对象的 API,使用 FigureAxes 的实例。

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

来自 repo anatomy of matplotlib :

  • Figure 是此层次结构中的顶级容器。它是绘制所有内容的整个窗口/页面。你可以有多个独立的图形,Figure可以包含多个Axes。

但是……

  • 大多数绘图发生在 Axes 上。轴实际上是我们绘制数据的区域以及与之相关的任何刻度/标签/等。通常我们会设置一个 Axes 并调用 subplot(将 Axes 放置在常规网格上),所以在大多数情况下,AxesSubplot 是同义词。

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

如果您想了解地 block 的解剖结构,可以访问 link .

关于python - 了解matplotlib : plt,图,ax(arr)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35677767/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com