J'utilise seaborn pour créer un kdeplot avec une distribution marginale comme décrit dans cette réponse . J'ai adapté un peu le code pour obtenir ceci :
import matplotlib.pyplot as plt
import seaborn as sns
iris = sns.load_dataset("iris")
setosa = iris.loc[iris.species == "setosa"]
virginica = iris.loc[iris.species == "virginica"]
g = sns.JointGrid(x="sepal_width", y="petal_length", data=iris)
sns.kdeplot(setosa.sepal_width, setosa.sepal_length, cmap="Reds",
shade=False, shade_lowest=False, ax=g.ax_joint)
sns.kdeplot(virginica.sepal_width, virginica.sepal_length, cmap="Blues",
shade=False, shade_lowest=False, ax=g.ax_joint)
sns.distplot(setosa.sepal_width, kde=True, hist=False, color="r", ax=g.ax_marg_x)
sns.distplot(virginica.sepal_width, kde=True, hist=False, color="b", ax=g.ax_marg_x)
sns.distplot(setosa.sepal_length, kde=True, hist=False, color="r", ax=g.ax_marg_y, vertical=True)
sns.distplot(virginica.sepal_length, kde=True, hist=False, color="b", ax=g.ax_marg_y, vertical=True)
plt.show()
Il est impossible de l'imprimer en noir et blanc. Comment puis-je faire en sorte que seaborn imprime les lignes kdeplot et distplot d'une manière spécifique (en pointillés / en tirets / ...) afin qu'elles puissent être distinguées lorsqu'elles sont imprimées en noir et blanc ?
En Questions connexes traiter d'autres types de parcelles qui semblent aller dans ce sens, mais cela ne semble pas être le cas pour les autres types de parcelles. kdeplot y distplot .