Comment puis-je tracer séparer les Pandas DataFrames que les intrigues secondaires?
J'ai un peu de Pandas DataFrames partage la même échelle de valeur, mais le fait d'avoir différentes colonnes et les indices. Lors de l'invocation de df.plot()
, je reçois séparée de la parcelle images. ce que je veux vraiment, c'est de les avoir tous dans la même parcelle que les intrigues secondaires, mais je suis malheureusement à défaut de trouver une solution à la façon et vous serions reconnaissants de bien un peu d'aide.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez créer manuellement les sous-intrigues avec matplotlib, puis tracer la dataframes sur une intrigue secondaire à l'aide de la
ax
mot-clé. Par exemple, pour les 4 sous-parcelles (2x2):Ici
axes
est un tableau qui détient les différents intrigue secondaire axes, et vous pouvez y accéder en indexationaxes
.Si vous souhaitez un partage de l'axe des x, alors vous pouvez fournir
sharex=True
àplt.subplots
..subplots()
retourne différents systèmes de coordonnées selon les dimensions de la matrice de sous-intrigues vous êtes en train de créer. Donc, si vous retournez sous-intrigues où, disons,nrows=2, ncols=1
, vous aurez besoin d'indexer les axes commeaxes[0]
etaxes[1]
. Voir stackoverflow.com/a/21967899/1569221IndexError: too many indices for array
.subplot()
sont utilisés. Ensemblesqueeze=False
à force.subplot()
à toujours renvoyer unndarray
dans tous les cas de lignes et de colonnes.Vous pouvez voir e.gs. dans le la documentation démontrant joris réponse. Également de la documentation, vous pouvez également définir
subplots=True
etlayout=(,)
dans les pandasplot
fonction:Vous pouvez également utiliser
fig.add_subplot()
qui prend intrigue secondaire de la grille de paramètres tels que la 221, 222, 223, 224, etc. comme décrit dans le post ici. Nice exemples du terrain sur les pandas trame de données, y compris les sous-intrigues, peut être vu dans cette ipython notebook.subplots
etlayout
kwargs va générer plusieurs parcelles d'un seul dataframe. Ceci est lié, mais pas une solution pour l'OP de la question de complot en plusieurs dataframes en une seule parcelle.layout=(df.shape[1], 1)
, par exemple).Vous pouvez utiliser le familier Matplotlib style de l'appel d'une
figure
etsubplot
, mais vous avez simplement besoin de spécifier le courant de l'axe à l'aide deplt.gca()
. Un exemple:etc...
Vous pouvez utiliser ceci:
Vous ne pouvez pas besoin d'utiliser les Pandas à tous. Voici un matplotlib parcelle de chat fréquences:
Bâtiment sur @joris réponse ci-dessus, si vous avez déjà établi une référence à l'intrigue secondaire, vous pouvez utiliser la référence ainsi. Par exemple,
Vous pouvez tracer plusieurs sous-intrigues de plusieurs pandas trames de données à l'aide de matplotlib avec un truc tout simple de faire une liste de toutes les trames de données. Ensuite, à l'aide de la boucle for pour tracer les intrigues secondaires.
Code de travail:
À l'aide de ce code, vous pouvez tracer des intrigues secondaires dans n'importe quelle configuration. Vous avez juste besoin de définir le nombre de lignes
nrow
et le nombre de colonnesncol
. Aussi, vous devez faire la liste de trames de donnéesdf_list
laquelle vous avez voulu vous intrigue.