Plusieurs chiffres dans une seule fenêtre
Je veux créer une fonction qui intrigue sur l'écran un ensemble de figures dans une seule fenêtre. Maintenant j'écris ce code:
import pylab as pl
def plot_figures(figures):
"""Plot a dictionary of figures.
Parameters
----------
figures : <title, figure> dictionary
"""
for title in figures:
pl.figure()
pl.imshow(figures[title])
pl.gray()
pl.title(title)
pl.axis('off')
Il fonctionne parfaitement mais je voudrais avoir l'option pour tracer tous les chiffres dans une seule fenêtre. Et ce code ne fonctionne pas. J'ai lu quelque chose au sujet d'intrigue secondaire, mais il semble assez difficile.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez définir une fonction sur la base de la sous-intrigues de commande (notez le s à la fin, différente de la
subplot
de commande indiqué par urinieto) dematplotlib.pyplot
.Ci-dessous est un exemple d'une telle fonction, basée sur le vôtre, permettant de tracer des multiples axes dans une figure. Vous pouvez définir le nombre de lignes et de colonnes que vous voulez dans la figure de mise en page.
Fondamentalement, la fonction crée un certain nombre d'axes dans les chiffres, selon le nombre de lignes (
nrows
) et de colonnes (ncols
) vous le souhaitez, puis parcourt la liste de l'axe de tracer vos images et ajoute le titre pour chacun d'eux.Noter que si vous avez seulement une image dans votre dictionnaire, votre syntaxe précédente
plot_figures(figures)
va travailler depuisnrows
etncols
sont mis à1
par défaut.Un exemple de ce que vous pouvez obtenir:
zip(range(len(figures)), figures)
parenumerate(figures)
Vous devez utiliser
subplot
.Dans votre cas, il serait quelque chose comme ceci (si vous voulez les uns sur les autres):
Découvrez la la documentation pour d'autres options.
Bâtiment sur la réponse à partir de: Comment faire pour afficher plusieurs images en une seule figure correctement?, voici une autre méthode:
Vous pouvez également le faire: