> Modules non standards > Seaborn > Scatterplot avec 2 variables
Scatterplot avec 2 variables
Analogue de scatterplot de matplotlib, mais plus sophistiqué.
Traçage du nuage de points :
- seaborn.jointplot(x, y) : trace par défaut le nuage de points, mais aussi les histogrammes pour chacune des 2 variables et calcule la corrélation de pearson et la p-value.
- stat_func = None : ne fait pas le calcul statistique.
- stat_func = scipy.stats.spearmanr : utilise la corrélation de Spearman.
- color = 'red' : la couleur des graphes.
- xlim = (-7, 7) : les limites sur l'axe des x.
- si on a un dataframe pandas df avec des colonnes A et B : on peut faire : seaborn.jointplot(x = "A", y = "B", data = df)
- on peut rajouter des paramètres pour customiser le nuage de points (joint_kws) et/ou pour les histogrammes (marginal_kws) : seaborn.jointplot(x = "A", y = "B", data = df, marginal_kws = {'bins': 50, 'color': 'red'}, joint_kws = {'color': 'green', 'marker': '+'})
On peut tracer l'équivalent d'un histogramme en 2d avec un pavage d'hexagones : seaborn.jointplot(x, y, kind = 'hex', color = 'navy')
On peut tracer un contour et pour chaque variable une densité avec : seaborn.jointplot(x, y, kind = 'kde', color = 'navy')
Alternative :
seaborn.kdeplot(x, y, color = 'navy')
seaborn.rugplot(x)
seaborn.rugplot(y, vertical = True)
jointplot retourne un objet seaborn.axisgrid.JointGrid qui a des fonctions qui permettent de customiser le graphe ou de rajouter des éléments dessus.
Pour visualiser les relations par paires d'un dataframe pandas :
- seaborn.pairplot(df). Seules les colonnes avec des valeurs numériques sont prises en compte.
- retourne comme valeur l'objet PairGrid qui permet de plus configurer encore le graphe.
- la fonction retourne un objet seaborn.axisgrid.PairGrid avec lequel on peut customiser les graphes.
- si il y a une colonne avec des catégories, on peut colorer les points selon la catégorie : seaborn.pairplot(df, hue = 'D', palette = {'a': 'red', 'b': 'green'})
- kind = 'reg' : fait une regression linéaire au lieu d'un simple scatter plot.
- markers = ['x', '+'] : quand on a donné un paramètre hue, on peut préciser un symbole par valeur de hue.
- on peut limiter les comparaisons à certaines paires plutôt que de faire toutes les combinaisons : seaborn.pairplot(df, x_vars = ['A', 'C'], y_vars = ['B', 'C'])
df = pandas.DataFrame({'A': [0, 3, 5, 10, 15], 'B': [3, 4, 5, 6, 7],
'C': [8, 6, 5, 4, 3], 'D':['a', 'b', 'a', 'b', 'a']})
seaborn.pairplot(df, hue = 'D', palette = {'a': 'red', 'b': 'green'}, markers = ['x', '+'])
Copyright python-simple.com
programmer en python, tutoriel python, graphes en python, Aymeric Duclert