2 votes

Nuage de points groupby colonnes en python

J'essaie de faire un nuage de points sur deux types différents de variables catégorielles, chacune avec trois niveaux différents. Pour l'instant, j'utilise la bibliothèque seaborn en python :

sns.pairplot(x_vars = ['UTM_x'], y_vars = ['UTM_y'], data = df, hue = "Mobility_Provider", height = 5)
sns.pairplot(x_vars = ['UTM_x'], y_vars = ['UTM_y'], data = df, hue = "zone_number", height = 5)

ce qui me donne deux diagrammes de dispersion distincts, l'un groupé par Mobility_Provider, l'autre groupé par zone_number. Cependant, je me demandais s'il était possible de combiner ces deux graphiques ensemble, par exemple, différents niveaux de Mobility_Provider sont représentés par différentes couleurs, tandis que différents niveaux de zone_number sont représentés par différentes formes/marqueurs du graphique. Merci beaucoup !

Un exemple d'intrigue serait : Plot1 Plot2

Chaque ligne du df a des valeurs x et y, et deux variables catégorielles ("Mobility_Provider" et "zone_number").

2voto

Julkar9 Points 839

Cela peut être facilement fait en utilisant le scatterplot de Seaborn, il suffit d'utiliser
hue = "Mobility_Provider",style="zone_number"
Quelque chose comme ça

import matplotlib.pyplot as plt
import seaborn as sns; sns.set()
import pandas as pd

df = pd.DataFrame({'x':[1,2,3,4],'y':[1,2,3,4],'Mobility_Provider':[0,0,1,1],\
                   'zone_number':[0,1,0,1]})

sns.scatterplot(x="x", y="y",s=100,hue='Mobility_Provider',style='zone_number', data=df)
plt.show()

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X