Я очень предпочитаю использовать matplotlib
в стиле ООП:
f, axarr = plt.subplots(2, sharex=True)
axarr[0].plot(...)
axarr[1].plot(...)
Это упрощает отслеживание нескольких фигур и подзаголовков.
Вопрос: Как использовать морские корни таким образом? Или как изменить этот пример на стиль ООП? Как сказать seaborn
функции рисования , как , lmplot
которые Figure
или Axes
его участки , чтобы?
python
oop
matplotlib
seaborn
Ледяное пламя
источник
источник
Ответы:
Это немного зависит от того, какую функцию seaborn вы используете.
Функции построения графиков в seaborn можно разделить на два класса.
regplot
,boxplot
,kdeplot
и многие другиеlmplot
,factorplot
,jointplot
и один или два другихПервая группа идентифицируется путем принятия явного
ax
аргумента и возвратаAxes
объекта. Как следует из этого, вы можете использовать их в «объектно-ориентированном» стиле, передав им свойAxes
:Функции уровня осей будут рисовать только на
Axes
фигуре и в противном случае не будут вмешиваться в фигуру, поэтому они могут прекрасно сосуществовать в объектно-ориентированном скрипте matplotlib.Вторая группа функций (уровень рисунка) отличается тем, что результирующий график потенциально может включать несколько осей, которые всегда организованы «осмысленным» образом. Это означает, что функции должны иметь полный контроль над фигурой, поэтому невозможно нанести, скажем, график
lmplot
на уже существующий. Вызов функции всегда инициализирует фигуру и настраивает ее для конкретного графика, который она рисует.Однако, как только вы позвоните
lmplot
, он вернет объект типаFacetGrid
. У этого объекта есть несколько методов для работы с результирующим графиком, которые немного знают о структуре графика. Он также раскрывает , лежащие в основе фигуры и множество осей по поводуFacetGrid.fig
иFacetGrid.axes
аргументов.jointplot
Функция очень похожа, но она используетJointGrid
объект. Таким образом, вы по-прежнему можете использовать эти функции в объектно-ориентированном контексте, но все ваши настройки должны выполняться после того, как вы вызвали функцию.источник