2017-01-03 7 views
1

Когда я запускаю следующий цикл в jupyter ноутбукНеправильная последовательность сюжетов и текстов в цикле

for index,image in enumerate(pics): 
    plt.figure(figsize=(1,1)) 
    plt.imshow(image.squeeze()) 
    print("Some text ") 

я получить выход

Some text 
Some text 
Some text 

<1st pic> 
<2nd pic> 
<3rd pic> 

< где первый рис> и т.д. являются просто заполнителями вместо реальных картин, которые здесь не изображены.

Очевидно, что Намеченный результат будет

<1st pic> 
Some text 

<2nd pic> 
Some text 

<3rd pic> 
Some text 

Как я могу получить намеченный выход, когда я хочу, чтобы обработать текст, независимо друг от друга, а не, например, как изображение?

ответ

2

Вы не говорите ему, чтобы он сказал matplotlib, чтобы показать вам фигуру. Я полагаю, вы использовали %matplotlib inline в записной книжке, что приводит к запуску plt.show() в конце ячейки.

for index in range(3): 
    plt.figure(figsize=(1,1)) 
    plt.show() 
    print("Some text ") 

Out:

<matplotlib.figure.Figure at 0x7ff844b2b048> 
Some text 
<matplotlib.figure.Figure at 0x7ff86cc4a7b8> 
Some text 
<matplotlib.figure.Figure at 0x7ff86908dcf8> 
Some text