> Modules non standards > Seaborn > relplot
relplot
relplot est la fonction générique qui permet de faire des plots entre 2 variables quantitatives : soit des scatterplots, soit des lineplots :
- kind indique le type de graphe :
- kind = 'scatter' pour un scatterplot (le défaut)
- kind = 'line' pour un lineplot
df = pandas.DataFrame({'X': [1, 2, 3, 4, 5], 'Y': [1, 4, 9, 16, 25],
'Z': ['a', 'b', 'a', 'b', 'b'],
'T': ['A', 'A', 'A', 'B', 'B'], 'U': [20, 10, 10, 2, 10]})
seaborn.relplot(x = 'X', y = 'Y', data = df, kind = 'scatter')
- on peut dessiner plusieurs graphes en ligne ou en colonne en fonction des valeurs d'une ou 2 variables : seaborn.relplot(x = 'X', y = 'Y', data = df, kind = 'scatter', col = 'Z', row = 'T')
- on peut dessiner en colonnes, et retourner à la ligne après un certain nombre de graphes : seaborn.relplot(x = 'X', y = 'Y', col = 'U', col_wrap = 2, data = df)
- relplot renvoie un objet seaborn.axisgrid.FacetGrid qu'on peut utiliser pour modifier les graphes, par exemple (voir aussi FacetGrid) :
- fg = seaborn.relplot(...)
- fg.set_xlabels('my x label') : met un label sur l'axe des x.
- fg.set_titles(col_template = 'pour valeur de {col_var} = {col_name}') : si on a utilisé col, permet d'indiquer quoi mettre dans le titre en fonction du nom de la variable (col_var) et de ses valeurs (col_name).
- fg.set_titles(template = '{col_name}', size = 20) : pour changer la taille des titres de chaque plot.
df = pandas.DataFrame({'X': [1, 2, 3, 4, 5, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5],
'Y': [1, 4, 9, 16, 25, 1, 0, 2, 4, 3, 1, 4, 5, 5, 6],
'Z': ['a', 'a', 'a', 'a', 'a', 'b','b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b']})
seaborn.relplot(x = 'X', y = 'Y', col = 'Z', data = df, kind = 'line',
marker = 'o', col_order = ['b', 'a'])
Paramètres :
- seaborn.relplot(x = 'X', y = 'Y', col = 'Z', col_order = ['b', 'a'], data = df) : impose un certain ordre pour les graphes en fonction des valeurs de Z.
- pareil avec row_order
- hue = 'Z' : dessine sur le même graphe en distinguant les séries. Peut être aussi une valeur numérique (a du sens pour kind = 'scatter')
- hue_order = ['b', 'a'] : impose l'ordre.
- hue_norm = (0, 100) : pour les hue numériques, impose un range pour le minimum et le maximum de la palette.
- palette = 'RdBu' : indique la palette à utiliser pour les hue numériques.
- size = 'T' : utilise la variable T pour fixer la taille des markers (quand kind = 'scatter'). On a aussi size_order et size_norm
- style = 'Z' : groupe par série.
- markers = ['o', 'D'] ou markers = {'a': 'o', 'b': 'D'} : indique les marqueurs pour chaque série correspondant à style (pour kind = 'scatter').
- dashes = {'a': (3, 0), 'b': (2, 2)} : valable pour style et kind = 'line', indique pour chaque série le type de trait par un couple : taille du segment, taille du gap.
- height = 4 : la hauteur d'un graphe.
- aspect = 2 : ratio largeur / hauteur (défaut est 1)
- facet_kws = {'sharey': False, 'xlim': [0, 6]} : des paramètres de FacetGrid.
- ci = 'sd' : utilise la dévation standard.
- err_style = 'bars' : affiche des barres d'erreur plutôt qu'un intervalle de confiance (le défaut est 'band'.
- legend = False : supprime la légende
Avec style :
df = pandas.DataFrame({'X': [1, 2, 3, 4, 5, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5],
'Y': [1, 4, 9, 16, 25, 1, 0, 2, 4, 3, 1, 4, 5, 5, 6],
'Z': ['a', 'a', 'a', 'a', 'a', 'b','b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b']})
seaborn.relplot(x = 'X', y = 'Y', style = 'Z', data = df, kind = 'line',
markers = {'a': 'D', 'b': 'o'}, dashes = {'a': (3, 0), 'b': (2, 2)},
ci = 'sd', err_style = 'bars')
Avec hue :
df = pandas.DataFrame({'X': [1, 2, 3, 4, 5, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5],
'Y': [1, 4, 9, 16, 25, 1, 0, 2, 4, 3, 1, 4, 5, 5, 6],
'Z': ['a', 'a', 'a', 'a', 'a', 'b','b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b']})
seaborn.relplot(x = 'X', y = 'Y', hue = 'Z', data = df, kind = 'line',
marker = 'D', markersize = 10, palette = {'a': 'red', 'b': 'blue'},
ci = 'sd', err_style = 'bars')
Avec plusieurs graphes :
df = pandas.DataFrame({'X': [1, 2, 3, 4, 5, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5],
'Y': [1, 4, 9, 16, 25, 1, 0, 2, 4, 3, 1, 4, 5, 5, 6],
'Z': ['a', 'a', 'a', 'a', 'a', 'b','b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b']})
seaborn.relplot(x = 'X', y = 'Y', col = 'Z', data = df, kind = 'line', marker = 'D',
markersize = 10, ci = 'sd', err_style = 'bars', height = 3, aspect = 2,
facet_kws = {'sharey': False, 'xlim': [0, 6]})
Copyright python-simple.com
programmer en python, tutoriel python, graphes en python, Aymeric Duclert