web-dev-qa-db-fra.com

Comment masquer <matplotlib.lines.Line2D> dans le bloc-notes IPython

Je trace un tableau de valeurs NumPy, I, en utilisant le bloc-notes IPython en mode en ligne %matplotlib Avec la commande plot plt.plot(I,'o').

La sortie résultante est:

<matplotlib.figure.Figure at 0x119e6ead0>
Out[159]:
[<matplotlib.lines.Line2D at 0x11ac57090>,
 <matplotlib.lines.Line2D at 0x11ac57310>,
 <matplotlib.lines.Line2D at 0x11ac57510>,
 <matplotlib.lines.Line2D at 0x11ac57690>,
 <matplotlib.lines.Line2D at 0x11ac57810>,
 <matplotlib.lines.Line2D at 0x11ac57990>,
 <matplotlib.lines.Line2D at 0x11ac57b10>,
 ....
 ....
]

Ensuite, mon tracé apparaît sous ces lignes de sortie.

Existe-t-il un moyen de simplement afficher l'intrigue et de masquer le <matplotlib.lines.Line2D at ...> De la sortie?

46
ROBOTPWNS

Vous pouvez utiliser un point-virgule ; pour terminer la ligne. Cela supprime la sortie indésirable lors de la génération de tracés:

plt.plot(I,'o');

En général, l'utilisation d'un point-virgule empêche IPython d'imprimer toute valeur de sortie à partir de cette ligne d'un bloc de code. Par exemple, l'exécution de la cellule contenant le code 1+1; ne produirait pas 2.

Une autre façon serait de lier une variable à l'intrigue:

_ = plt.plot(a)

De cette façon, IPython ne vous montre que les tracés et le nom _ est lié à la sortie indésirable.

79
Alex Riley

Une autre façon consiste à simplement écrire plt.show() à la fin de votre code de dessin. Il faudrait moins de symboles pour taper si vous générez de nombreux sous-intrigues et/ou dessinez plusieurs graphes sur une seule intrigue secondaire.

13
kurtosis