J'ai quelques Pandas DataFrames partageant la même échelle de valeur, mais ayant des colonnes et des indices différents. Lors de l'invocation df.plot()
, j'obtiens des images de tracé séparées. ce que je veux vraiment, c'est les avoir tous dans la même intrigue que les sous-intrigues, mais je n'arrive malheureusement pas à trouver une solution à la façon dont et j'apprécierais beaucoup de l'aide.
la source
.subplots()
renvoie différents systèmes de coordonnées en fonction des dimensions du tableau de sous-graphiques que vous créez. Donc, si vous retournez des sous-graphiques où, par exemple,nrows=2, ncols=1
vous devrez indexer les axes commeaxes[0]
etaxes[1]
. Voir stackoverflow.com/a/21967899/1569221IndexError: too many indices for array
.subplot()
sont utilisés. Définisqueeze=False
sur forcer.subplot()
pour toujours renvoyer unndarray
dans tous les cas de lignes et de colonnes.Vous pouvez voir par exemple dans le documentation démontrant la réponse joris. Également à partir de la documentation, vous pouvez également définir
subplots=True
etlayout=(,)
dans laplot
fonction pandas :Vous pouvez également utiliser des
fig.add_subplot()
paramètres de grille de sous-tracé tels que 221, 222, 223, 224, etc., comme décrit dans l'article ici . De jolis exemples de tracé sur une trame de données pandas, y compris des sous-graphiques, peuvent être vus dans ce cahier ipython .la source
subplots
etlayout
kwargs généreront plusieurs graphiques UNIQUEMENT pour une seule trame de données. Ceci est lié à, mais pas une solution à la question d'OP de tracer plusieurs dataframes dans un seul tracé.layout=(df.shape[1], 1)
, par exemple).Vous pouvez utiliser le style familier de Matplotlib en appelant un
figure
andsubplot
, mais vous devez simplement spécifier l'axe actuel à l'aide deplt.gca()
. Un exemple:etc...
la source
Vous pouvez tracer plusieurs sous-tracés de plusieurs trames de données pandas à l'aide de matplotlib avec une simple astuce consistant à faire une liste de toutes les trames de données. Ensuite, utilisez la boucle for pour tracer des sous-graphiques.
Code de travail:
En utilisant ce code, vous pouvez tracer des sous-graphiques dans n'importe quelle configuration. Vous devez simplement définir le nombre de lignes
nrow
et le nombre de colonnesncol
. En outre, vous devez créer une liste des blocs de donnéesdf_list
que vous vouliez tracer.la source
count =+1
maiscount +=1
Vous pouvez utiliser ceci:
la source
Vous n'aurez peut-être pas du tout besoin d'utiliser Pandas. Voici un graphique matplotlib des fréquences de chat:
la source
En vous basant sur la réponse @joris ci-dessus, si vous avez déjà établi une référence au sous-tracé, vous pouvez également utiliser la référence. Par exemple,
la source
Comment créer plusieurs graphiques à partir d'un dictionnaire de dataframes avec des données longues (rangées)
Hypothèses
cat
,, peuvent se chevaucher, mais toutes les dataframes peuvent ne pas contenir toutes les valeurs decat
hue='cat'
Étant donné que les dataframes sont itérées, il n'est pas garanti que les couleurs seront mappées de la même manière pour chaque tracé
'cat'
valeurs de toutes les dataframesImportations et données synthétiques
Créer des mappages de couleurs et tracer
la source