#python-3.x #seaborn
#python-3.x #сиборн
Вопрос:
У меня есть набор данных с 25 столбцами, и я хотел изучить точечные диаграммы. Я впервые посмотрел на это с помощью Seaborn scatterplot()
, но это слишком запутанно, и слишком много диаграмм, чтобы разобраться во всем этом. Поэтому вместо этого я хотел повторить один столбец по всем столбцам. Я создал этот простой цикл:
for col in ds_num.columns:
plt.figure()
sns.scatterplot(x='initial_term',y=col,hue='logo_renewal',data=ds_num)
plt.show()
Это сработало, но придало ему форму одного столбца. Я бы хотел, чтобы он отображал несколько в каждой строке, поэтому я попробовал это вместо:
for idx, col in enumerate(ds_num.columns):
fig = plt.figure(figsize=(20,16))
ax[idx 1] = fig.add_subplot(5,5,idx 1)
sns.scatterplot(x='initial_term',y=col,hue='logo_renewal',data=ds_num,ax=ax[idx])
plt.show()
Но теперь я получил ошибку типа: объект ‘AxesSubplot’ не поддерживает назначение элемента
Есть предложения? Спасибо
Ответ №1:
Нашел ответ с помощью вложенных графиков:
fig, axs = plt.subplots(5,5,figsize=(20,20))
cols = ds_num.columns
for ax, col in zip(axs.flatten(),cols):
sns.scatterplot(x='initial_term',y=col,hue='logo_renewal',data=ds_num,ax=ax,legend=False)
plt.tight_layout()
Обратите внимание, что я удалил легенду, поскольку она занимала слишком много места, это, конечно, не обязательно