2017-04-03 3 views
0

Im Beispiel anpassen unten Ich versuche for-Schleife in einem sechs numpy Arrays als Bilder zu zeichnen:wie imshow Figur Position in for-Schleife

import matplotlib.pyplot as plt 
%matplotlib inline 
import numpy as np 

for i in range(6): 
    fig = plt.figure() 
    a = fig.add_subplot(1, 6, i+1) 
    a.set_title('plot' + '_' + str(i+1)) 
    a.axes.get_xaxis().set_visible(False) 
    a.axes.get_yaxis().set_visible(False) 
    plt.imshow(np.random.random((2,3))) 

Wenn Sie den Code in einem jupyter Notebook Sie‘ausführen Ich sehe, dass alle Zahlen in 6 Reihen (6,1) reihenweise gedruckt sind. Wie soll ich meine for-Schleife ändern, um meine Zahlen spaltenweise (sagen wir mal) 2 Zeilen (2,3) zu drucken?

Jede Hilfe wäre sehr willkommen!

+0

['a = fig.add_subplot (2, 3, i + 1)'] (http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot). – Evert

+0

Ich habe es schon versucht, aber es ist immer noch das gleiche – Codutie

Antwort

1

Verschieben Sie die fig = plt.figure() außerhalb der for Schleife, und verwenden Sie ax = fig.add_subplot(2,3,i+1). Auf diese Weise werden alle Nebenhandlungen in der gleichen Zahl sein, nicht ihre eigene Zahl.

+0

vielen Dank vielen! – Codutie