Это немного зависит от того, какую функцию вы используете.
Функции построения в морском море в целом разделены на два класса
regplot
, boxplot
, kdeplot
и многие другие lmplot
, factorplot
, jointplot
и один или два других Первая группа идентифицируется путем принятия явного аргумента ax
и возвращения объекта Axes
. Как можно предположить, вы можете использовать их в «объектно-ориентированном» стиле, передав им Axes
:
f, (ax1, ax2) = plt.subplots(2)
sns.regplot(x, y, ax=ax1)
sns.kdeplot(x, ax=ax2)
Функции уровня осей будут только рисовать на Axes
и не будут в противном случае беспорядок с фигурой, поэтому они могут прекрасно сосуществовать в объектно-ориентированном скрипте matplotlib.
Вторая группа функций (уровень уровня) отличается тем фактом, что полученный график может потенциально включать несколько Оси, которые всегда организованы «осмысленным образом». Это означает, что функции должны иметь полный контроль над фигурой, поэтому невозможно построить, скажем, lmplot
, на тот, который уже существует. Вызов функции всегда инициализирует фигуру и устанавливает ее для конкретного графика.
Однако, как только вы вызвали lmplot
, он вернет объект типа FacetGrid
. Этот объект имеет некоторые методы работы на полученном графике, которые немного знают о структуре графика. Он также предоставляет базовую фигуру и массив осей в аргументах FacetGrid.fig
и FacetGrid.axes
. Функция jointplot
очень похожа, но она использует объект JointGrid
. Таким образом, вы все равно можете использовать эти функции в объектно-ориентированном контексте, но вся ваша настройка должна появиться после того, как вы вызвали функцию.
Я только что нашел решение, пытаясь что-то другое. По какой-то причине у меня был плагин Служб Google в файле библиотеки моей библиотеки, поэтому я удалил его, и проект был собран без проблем.
Я удалил эту строку
apply plugin: 'com.google.gms.google-services'