Как показать только нижнюю диагональ в парном графике Сиборна: методы и примеры

Чтобы показать только нижнюю диагональ на парном графике Seaborn (sns), вы можете использовать параметр «mask», доступный в функции seaborn.pairplot(). Вот несколько способов добиться этого:

Метод 1: использование параметра маски

import seaborn as sns
import numpy as np
# Create a random dataset
np.random.seed(0)
data = np.random.randn(100, 3)
# Create a mask to hide the upper diagonal
mask = np.triu(np.ones_like(data.corr(), dtype=bool))
# Plot the pairplot with the mask
sns.pairplot(data, diag_kind='kde', mask=mask)

Метод 2. Использование модуля seaborn.axes_grid

import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
# Create a random dataset
np.random.seed(0)
data = np.random.randn(100, 3)
# Create a figure and axes
fig, ax = plt.subplots()
# Create the pairplot
g = sns.pairplot(data, diag_kind='kde', ax=ax)
# Hide the upper diagonal
for i, j in zip(*np.triu_indices_from(g.axes, 1)):
    g.axes[i, j].set_visible(False)

Метод 3: использование класса seaborn.PairGrid

import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
# Create a random dataset
np.random.seed(0)
data = np.random.randn(100, 3)
# Create a PairGrid
g = sns.PairGrid(data, diag_sharey=False)
# Map the lower diagonal with scatter plots
g.map_lower(sns.scatterplot)
# Map the diagonal with KDE plots
g.map_diag(sns.kdeplot)
# Remove the upper diagonal
g.map_upper(plt.scatter)
g.map_upper(plt.gca().set_visible(False))
# Display the plot
plt.show()