Использование событий с matplotlib в цикле for

Я приношу свои извинения, так как я уже открыл еще один билет по связанной теме. Благодаря ответам, которые я получил сейчас, я могу быть более конкретным. Я также получил некоторые решения на основе Tkinter, но я хотел бы решить свои проблемы с событиями и циклами.

Частный случай, с которым я имею дело, заключается в следующем: у меня есть массив массивов. Я хочу, чтобы matplotlib отобразил первый его элемент, позволил мне нажать одну клавишу (со связанным событием), а программа построила второй массив, то же самое поведение и так далее.

В качестве быстрого примера:

import matplotlib.pyplot as plt
import numpy as np

# Define the event
def ontype(event):
    if event.key == '1':
        print 'It is working'
        plt.clf()

# Create figure an connect the event to it
fig=plt.figure(figsize=(16,8))
plt.gcf().canvas.mpl_connect('key_press_event',ontype)

# Loop
for element in xrange(10):
    #This mimicks the "array of arrays" generating a random array in each loop
    vector = np.random.random(10)  
    plt.plot(vector)
    plt.show()

Я ожидал получить первый график (при первом запуске цикла) и чтобы он оставался открытым до тех пор, пока я не нажму 1. Однако я получаю фигуру с нанесенными десятью векторами, и когда я нажимаю 1, фигура очищается и там написаноЭто работает" через терминал. Мне нужна программа для построения первого и перехода к следующему элементу после нажатия клавиши. Любой намек на это? Что я делаю неправильно?

Спасибо вам, ребята!

РЕДАКТИРОВАТЬ:

Пожалуйста, имейте в виду, что в принципе, структура программы не может быть изменена, и цикл for необходим для вычисления разных вещей, прежде чем строить что-либо. Следовательно, программа должна идти

def ontype(event):
     define event

Some stuff
elements = array of arrays
for element in elements:
    do more stuff
    plot element and "stay" in this plot untill any event key is pressed. And then, go to the next element in elements and do the same

РЕДАКТИРОВАТЬ 2:

Я думаю, что я неЯ правильно объяснил, а данные могли быть неправильно поняты. В моем случае я читаю огромную таблицу данных, и каждая строка - это отдельный источник. То, что я пытаюсь построить, это информация из столбцов. Я физик, поэтому я нене имею большого знания о стильном программировании или о чем-либо. Проблема в том, что ... если нет способа сделать это с помощью цикла for, кто-нибудь может объяснить мне, как выполнять такую работу без него?

Ответы на вопрос(2)

Ваш ответ на вопрос