matlibplotlib如何使用"引用"进口?

时间:2017-11-20 02:55:24

标签: python matplotlib

当我使用Matplotlib绘制线条和矩形时,我通常使用:

from matplotlib.lines import Line2D
from matplotlib.patches import Rectangle
Line2D(...)

但我也发现有人只是使用:

import matplotlib.pyplot as plt
plt.Line2D(..)

我发现plt.Line2D实际上是<class 'matplotlib.lines.Line2D'>,这意味着matplotlib.pyplot.Line2D是对matplotlib.lines.Line2D的引用?

我很好奇:

  • 它是如何工作的?一些python技巧?
  • 我会使用dir(plt)来查看,但不会在The Pyplot API中查看,我应该知道它们是故意设计还是已弃用?

1 个答案:

答案 0 :(得分:1)

matplotlib.pyplot内,有一行说

from matplotlib.lines import Line2D

因此,如果您导入matplotlib.pyplot,则可以从pyplot命名空间中获取Line2D

import matplotlib.pyplot as plt
plt.Line2D(...)

由于命名空间本身的可用性不是文档记录的功能,因此可能不应该依赖它。使用从原始子模块导入的函数/对象也是更好的样式 另一方面,只需编写plt.Rectangle而不必首先导入补丁模块非常方便 我想最后你需要自己决定哪种情况适用。