Я написал функцию python для построения ряда заполненных контуров, получая данные из некоторых столбцов набора данных, составленных из списка массивов с использованием функции kdeplot
, равной seaborn
. Код следующий:
import matplotlib.pyplot as plt
import seaborn as sns
def kdeplots_figure(dataset):
cols = int((len(dataset)-2)/2)
figure, axes = plt.subplots(1, cols, figsize=(15,6), sharey=True)
f = 2
for i in range (len(axes)):
sns.set_style("white")
axes[i].set_title(" Cluster {0}".format(i), fontsize = 16)
axes[i].set_ylabel('Y Axis', fontsize = 14)
axes[i].set_xlabel('X Axis', fontsize = 14)
axes[i].set_xlim([95,130])
axes[i].tick_params(labelsize=13)
sns.kdeplot(dataset[f],dataset[f+1],cmap="Blues_d",shade_lowest=True,ax=axes[i])
sns.kdeplot(dataset[f],dataset[f+1],cmap="Blues",shade_lowest=True,shade=True,ax=axes[i])
f = f+2
plt.show()
Однако некоторые контуры различаются по пространству, которое они отбирают в плоскости x-y, и когда я рисую их, на фоне некоторых графиков появляется белый участок, который я не знаю, как его заполнить. Смотрите ниже:
![Plot Output](https://i.stack.imgur.com/0HHTO.png)
Оба графика должны выглядеть так, как будто они расположены справа. Я попытался настроить цвет фона с помощью ax.set_facecolor
и взять последний цвет палитры cmap с помощью этой темы: Получение отдельных цветов из цветовой карты в matplotlib . Однако цвет фона у меня немного другой. Я также попытался использовать аргумент clip sns.kdeplot
, но безуспешно.
Как я могу решить это? Дайте мне знать, если вам нужна дополнительная информация.