Я рисую два подмножества данных с подходящей линией регрессии, используя lmplot seaborn, и я не могу на всю жизнь получить доступ к осям для изменения моих графиков. Я знаю, что этот вопрос очень подходит для Google, но я пробовал все, что уже предлагалось, и все выдает ошибку.
lm = sns.lmplot(data = dfAll, hue = 'SampleType', scatter = True, fit_reg = True, ci = 95,
line_kws = {'color':'black'}, col = 'SampleType',
x = 'Order', y ='Speed').fig.suptitle('Prder vs Speed',
fontsize=14)
Я попытался напрямую использовать методы набора FacetGrid, так как я знаю, что lmplot использует FacetGrid под капотом:
lm.set(xlim = (-0.5, 0.0))
, что дает мне:
AttributeError: объект 'Text' не имеет свойства 'xlim'
Я попытался получить такие оси :
ax = lm.axes
ax[0].set_title['Control']
ax[1].set_title['Drug']
и для ax я действительно получаю два объекта matplotlib.axes._subplots_AxesSubplot.
Однако, задав заголовки, я получаю:
AttributeError: ' numpy .ndarray 'объект не имеет атрибута' set_title '
Я также пробовал ax = lm.axes.flatten (), что приводит к тому же типу объекта, но ошибка:
TypeError: объект 'method' не индексируется
Наконец, просто используя pyplot, например:
plt.xlabel('Order')
Изменяет только правый график.
Я хочу использовать lmplot, потому что мне нужно построить линию регрессии и вычислить e r2 для каждого из участков. Все, что я хочу сделать, это добавить заголовок для каждого сюжета, добавить текст (r2) и изменить заголовки осей, и я искал способ сделать это со вчерашнего дня ..
Любая помощь будет очень большой. оценен :) или, в качестве альтернативы, подойдет любой другой пакет / функция для построения статистики корреляции.