什么时候matplotlib的pyplot.figure多余?

时间:2015-07-30 16:25:59

标签: python matplotlib

根据我对matplotlib的理解,figure方法创建了一个新的空白图形,基本上是一个"白色画布,"例如,plot我可以添加实际情节。 show方法然后清除figure

import matplotlib.pyplot as plt

fig = plt.figure()

plt.plot([0, 1], [0, 1])
plt.show()

enter image description here

1)现在,我想知道为什么在没有创建figure时可以实现相同的目标。更具体地说,我想知道matplotlib如何在内部处理这个问题。

2)如果我不打算操纵数字对象,使用plt.figure是否有任何优势?

import matplotlib.pyplot as plt

plt.plot([0, 1], [0, 1])
plt.show()

1 个答案:

答案 0 :(得分:1)

  1. plt.plot内部calls gca(获取当前轴)然后calls gcf(获取当前数字),返回当前(上次使用的)数字。如果没有当前数字calls plt.figure并返回新创建的数字。所以是的,天气与否你自己打电话plt.figure并不重要。我不会说它是多余的(因为它必须完成),但你可以安全地让matplotlib来处理它。
  2. 如果您不打算操纵图形或将参数传递给构造函数,则直接调用plt.figure仅对创建多个图形以在调用plt.show时同时显示它们有用。

    plt.figure()
    plt.plot(1,1,'x')
    plt.figure()
    plt.plot(2,2,'o')
    plt.show()