Matplotlib的pyplot文档说如下,


  pyplot matplotlib.pyplot是matplotlib的基于状态的接口。


matplotlib的基于状态的接口是什么意思

最佳答案

pyplot tutorial中说


  在matplotlib.pyplot中,函数调用之间会保留各种状态,以便跟踪当前图形和绘图区域之类的东西,并将绘图函数定向到当前轴


举个例子:

import matplotlib.pyplot as plt
plt.plot([1,2,3],[4,6,5])


这会将pyplot置于定义了当前图形和当前轴的状态。随后发出其他一些pyplot命令,例如

plt.title("My title")


将设置在pyplot状态下存储的当前轴的标题。最后,

plt.show()


将显示存储在pyplot状态下的所有图形。 (也相关:How does plt.show() know what to show?

因此,总的来说,基于状态的接口意味着pyplot具有几个函数,这些函数将作用于当前定义的状态。这与使用对象方法的面向对象方法根本不同:

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot([1,2,3],[4,6,5])
ax.set_title("My Title")


在这里,不同对象的方法用于创建新内容。 (该图仍然是通过pyplot创建的,因此最终可以通过plt.show()进行显示。)

关于python - matplotlib.pyplot文档说它是matplotlib的基于状态的接口(interface)。什么是基于状态的接口(interface)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52816131/

10-12 23:54