J'ai démarré mon notebook IPython avec
ipython notebook --pylab inline
Ceci est mon code dans une cellule
df['korisnika'].plot()
df['osiguranika'].plot()
Cela fonctionne bien, il dessinera deux lignes, mais sur le même graphique.
Je voudrais dessiner chaque ligne sur un graphique séparé. Et ce serait formidable si les graphiques étaient côte à côte, pas les uns après les autres.
Je sais que je peux mettre la deuxième ligne dans la cellule suivante, puis j'aurais deux graphiques. Mais j'aimerais que les graphiques soient proches les uns des autres, car ils représentent la même unité logique.
python
pandas
ipython
ipython-notebook
WebOrCode
la source
la source
savefig.dpi
configuration. Les figures en ligne utilisent le même chemin savefig que les fichiers d'écriture.mpl.rcParams['savefig.dpi'] = 120
. Pour l'affichage dpi, il y a un mot-clé dans de nombreux endroits, commeplt.figure(dpi=120)
, mais c'est ignoré maintenant, d'où ma fausse hypothèse à propos de sa correction.Vous pouvez également appeler la fonction show () après chaque tracé. par exemple
la source
pyplot.subplots()
c'est la voie à suivre.Quelque chose comme ça:
import matplotlib.pyplot as plt ... code for plot 1 ... plt.show() ... code for plot 2... plt.show()
Notez que cela fonctionnera également si vous utilisez le
seaborn
package pour le traçage:import matplotlib.pyplot as plt import seaborn as sns sns.barplot(... code for plot 1 ...) # plot 1 plt.show() sns.barplot(... code for plot 2 ...) # plot 2 plt.show()
la source
Une autre façon, pour la variété. Bien que ce soit un peu moins flexible que les autres. Malheureusement, les graphiques apparaissent les uns au-dessus des autres, plutôt que côte à côte, ce que vous avez demandé dans votre question initiale. Mais c'est très concis.
df.plot(subplots=True)
Si le dataframe a plus que les deux séries et que vous ne voulez tracer que ces deux, vous devrez remplacer
df
pardf[['korisnika','osiguranika']]
.la source
Je ne sais pas s'il s'agit d'une nouvelle fonctionnalité, mais cela tracera sur des figures séparées:
df.plot(y='korisnika') df.plot(y='osiguranika')
alors que cela tracera sur la même figure: (tout comme le code dans l'op)
df.plot(y=['korisnika','osiguranika'])
J'ai trouvé cette question parce que j'utilisais l'ancienne méthode et que je voulais qu'ils tracent sur le même chiffre, donc votre question était en fait ma réponse.
la source