Если я правильно понимаю, это может удовлетворить ваши требования
import seaborn as sns
sns.set(style="ticks")
df = sns.load_dataset("iris")
p = sns.PairGrid(df, vars=['sepal_length', 'sepal_width'], hue="species")
p = p.map_offdiag(sns.scatterplot)
p = p.map_diag(sns.distplot, hist=True, kde=True, hist_kws={'alpha':0.5})
Вот скриншот ..
![enter image description here](https://i.stack.imgur.com/G9ZLH.png)