В учебнике pyplot написано
В 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.(Также актуально: Как plt.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()
.)