Attention: Quand on utilise seaborn.pairplot, ça peut être très long à cause des histogrammes sur la diagonale, même avec quelques centaines de points (alors que le reste passe avec des dizaines de milliers). On peut éviter les histogrammes sur la diagonale avec : fg = seaborn.pairplot(df2, diag_kind = None, markers = '.')
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.
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', '+'])
- 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'})
- hue_order = ['b', 'a'] : permet d'indiquer l'ordre souhaité pour les catégories
- kind = 'reg' : fait une regression linéaire au lieu d'un simple scatter plot.
- markers = '+' : utilise ce type pour tous les points du graphe.
- 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'])
Exemple plus complet :
fg = seaborn.pairplot(df, plot_kws = {'color': 'blue', 'size': 0.5}, diag_kws = {'bins': 20, 'color': 'blue'})
for ax in fg.axes.flat:
ax.set_title(ax.get_title().replace('_', ' ')
ax.title.set_backgroundcolor('lemonchiffon')
ax.title.set_color('red')
ax.set_xscale('symlog', linthresh = 0.1)
ax.set_yscale('symlog', linthresh = 0.1)
ax.set_xlim(0, 10)
ax.set_ylim(0, 10)