Mis a jour le 2024-10-20, 20:16

FacetGrid

Permet de faire des graphes multiples en fonction de valeurs de catégories en utilisant une fonction de matplotlib.
scatterplots en fonction des valeurs discrètes de C1, C2 et C3 :
Exemple : df = seaborn.load_dataset('penguins') fg = seaborn.FacetGrid(data = df, row = 'species', col = 'island', hue = 'sex') fg.map(seaborn.scatterplot, 'flipper_length_mm', 'body_mass_g') fg.add_legend()
Avec map_dataframe, on peut passer des arguments nommés :
Si on veut avoir par exemple des barplots avec un couleur par graphe, on peut faire : fg = seaborn.FacetGrid(df, col = 'C1', col_wrap = 4); fg.map_dataframe(seaborn.barplot, x = 'C2', y = 'C3', hue = 'C1', palette = {'a': 'green', 'b': 'blue', 'c': 'orange'})
Arguments de FacetGrid :
Méthodes de FacetGrid :
Sauvegarde dans un fichier : fg.savefig('myImage.png')
Attention pour les barplots, si le dataframe n'est pas complet (i.e. ici, des valeurs de C pour lesquelles des valeurs de A sont absentes), il faut absolument rajouter order (ou alors rendre le dataframe complet avec des 0 sur les valeurs manquantes) : df = pandas.DataFrame({'A': ['a', 'a', 'b', 'b', 'a'], 'B': [1, 2, 3, 1, 4], 'C': ['c', 'd', 'c', 'd', 'e']}) fg = seaborn.FacetGrid(df, col = 'C') fg.map_dataframe(seaborn.barplot, x = 'A', y = 'B', palette = {'a': 'red', 'b': 'green'}, order = ['a', 'b'])
On peut changer les propriétés d'un graphe en particulier :
fg.map_dataframe(seaborn.histplot, x = colName, color = color, discrete = True) : quand ce sont des valeurs discretes, evite d'avoir des largeurs de barres variables
Autre présentation : df = seaborn.load_dataset('penguins') fg = seaborn.FacetGrid(data = df, row = 'species', col = 'island', margin_titles = True, despine = False, hue = 'sex', palette = {'Male': 'red', 'Female': 'green'}, row_order = ['Gentoo', 'Adelie', 'Chinstrap'], legend_out = False, ylim = [0, 10000]) fg.map(seaborn.scatterplot, 'flipper_length_mm', 'body_mass_g') fg.add_legend() pyplot.sca(fg.axes[0][1]) pyplot.plot([0, 200], [0, 8000], color = 'blue') fg.figure.subplots_adjust(wspace = 0, hspace = 0)

Copyright python-simple.com
programmer en python, tutoriel python, graphes en python, Aymeric Duclert