Matplotlib имеет два «интерфейса»: a Matlab-style interface и object-oriented interface.
Заговора с интерфейсом Matlab-стиль выглядит следующим образом:
import matplotlib.pyplot as plt
plt.plot(x, y)
plt.show()
Вызов plt.plot
неявно создает деятель и оси, на которых можно рисовать. Вызов plt.show
отображает все цифры.
Pandas поддерживает интерфейс в стиле Matlab, неявно создавая фигуру и оси для вас, когда вызывается df.plot(x='Column1', y='Column3')
.
Панды также может использовать более гибкий объектно-ориентированный интерфейс, в этом случае ваш код будет выглядеть следующим образом:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('test0.csv',delimiter='; ', engine='python')
fig, ax = plt.subplots()
df.plot(ax=ax, x='Column1', y='Column3')
plt.show()
Здесь оси, ax
, явно создается и передается , который затем звонки ax.plot
под капотом.
Один случай, когда объектно-ориентированный интерфейс полезен, когда вы хотите использовать более чем один раз в то же время, опираясь на те же оси:
fig, ax = plt.subplots()
df.plot(ax=ax, x='Column1', y='Column3')
df2.plot(ax=ax, x='Column2', y='Column4')
plt.show()
В основном 'df' также импортирует' plt' и модифицирует это прямо. 'plt' использует много глобального состояния, которое доступно пользователям и коду. – MisterMiyagi