gpt4 book ai didi

python - 何时使用 matplotlib.pyplot 类以及何时使用绘图对象 (matplotlib.collections.PathCollection)

转载 作者:太空狗 更新时间:2023-10-29 18:06:36 24 4
gpt4 key购买 nike

我想知道何时使用绘图实例(它是一个 PathCollection)以及何时使用绘图类本身的问题背后的逻辑是什么。

import matplotlib.pyplot as plt
p = plt.scatter([1,2,3],[1,2,3])

显示散点图。为了让它发挥作用,我不得不说:

plt.annotate(...)

要配置坐标轴标签或限制,您可以编写:

plt.xlim(...)
plt.xlabel(...)

等等。

但另一方面,你写:

p.axes.set_aspect(...)
p.axes.yaxis.set_major_locator(...)

这背后的逻辑是什么?我可以在某处查找吗?不幸的是,我没有在文档中找到这个特定问题的答案。

什么时候使用实际实例 p 来配置图形,什么时候使用 pyplot 类 plt

最佳答案

根据 PEP20:

  • “明确优于隐含。”
  • “简单胜于复杂。”

通常,“让它正常工作”的代码采用 pyplot 路线,因为它隐藏了很多人不关心的所有图形和坐标轴管理。这通常用于交互模式编码、简单的一次性脚本或在高级脚本中执行的绘图。

但是,如果您正在创建一个用于绘图的库模块,并且您不能保证库用户不会自己进行任何额外的绘图,那么最好是显式的并避免使用 pyplot 接口(interface).我通常设计我的函数以接受用户想要操作的轴和/或图形对象作为可选参数(如果没有给出,那么我使用 plt.gcf() 和/或 plt.gca())。

我的经验法则是,如果我正在执行的操作可以通过 pyplot 完成,但如果这样做可能会改变“状态机”,那么我会避免使用 pyplot。请注意,通过 pyplot(例如 plt.xlim())的任何操作都会获取/设置当前轴/图形/图像(“状态机”),而 ax.set_xlim() 之类的操作则不会。

关于python - 何时使用 matplotlib.pyplot 类以及何时使用绘图对象 (matplotlib.collections.PathCollection),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19895262/

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