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

Scatterplots et lineplots

On part par exemple d'un dataframe comme :
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]})

  

Scatterplot

Scatterplot avec différentes catégories qui permettent de fixer : la couleur (hue), le style de points (style), et la taille (size, si variable numériques) : 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.scatterplot(x = 'X', y = 'Y', hue = 'Z', style = 'T', size = 'U', sizes = (30, 200), data = df) 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']}) seaborn.scatterplot(x = 'X', y = 'Y', hue = 'Z', style = 'T', palette = {'a': 'red', 'b': 'blue'}, markers = {'A': '+', 'B': 'x'}, s = 100, data = df)

Lineplot

Lineplot : df = pandas.DataFrame({'X': [5, 2, 3, 4, 1], 'Y': [25, 4, 9, 16, 1]}) seaborn.lineplot(x = 'X', y = 'Y', data = df) df = pandas.DataFrame({'X': [5, 2, 3, 4, 1, 5, 2, 3, 4, 1], 'Y': [25, 4, 9, 16, 1, 10, 4, 6, 8, 2], 'Z': ['a', 'a', 'a', 'a', 'a', 'b', 'b', 'b', 'b', 'b']}) seaborn.lineplot(x = 'X', y = 'Y', data = df) df = pandas.DataFrame({'X': [1, 1, 2, 2, 3, 3, 4, 4, 5, 5], 'Y': [1, 2, 4, 7, 9, 12, 16, 18, 25, 20]}) seaborn.lineplot(x = 'X', y = 'Y', marker = 'o', errorbar = 'sd', err_style = 'bars', data = df, markersize = 20, markerfacecolor = 'red')
lineplot peut tracer plusieurs courbes, éventuellement avec des barres d'erreur si valeurs redondantes pour la même valeur de x : df = pandas.DataFrame({'X': [5, 2, 3, 4, 1, 5, 2, 3, 4, 4, 1, 1], 'Y': [25, 4, 9, 16, 1, 10, 4, 6, 8, 12, 2, 10], 'Z': ['a', 'a', 'a', 'a', 'a', 'b', 'b', 'b', 'b', 'b', 'b', 'b']}) seaborn.lineplot(x = 'X', y = 'Y', hue = 'Z', marker = 'o', markersize = 10, errorbar = 'sd', err_style = 'bars', err_kws = {'capsize': 5, 'capthick': 2, 'elinewidth': 0.5}, data = df)
On peut tracer différentes courbes :
Pour tracer à la fois les points et les lignes : myPalette = {'a': 'green', 'b': 'blue'} df = pandas.DataFrame({'A': [1, 2, 3, 3, 4, 4, 4, 5, 5, 5], 'B': [6, 3, 7, 6, 8, 9, 5, 10, 7, 8], 'C': ['a', 'b', 'a', 'b', 'a', 'a', 'b', 'a', 'b', 'b']}) seaborn.scatterplot(x = 'A', y = 'B', hue = 'C', data = df, s = 40, hue_order = ['b', 'a'], palette = myPalette) seaborn.lineplot(x = 'A', y = 'B', hue = 'C', data = df, ci = None, legend = False)

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