Вот рабочая версия рассматриваемого кода (требуется, по крайней мере, версия Matplotlib 1.1.0 с 2011-11-14):
import numpy as np
import matplotlib.pyplot as plt
plt.axis([0, 10, 0, 1])
for i in range(10):
y = np.random.random()
plt.scatter(i, y)
plt.pause(0.05)
plt.show()
Обратите внимание на некоторые изменения:
plt.pause(0.05)
для вывода новых данных, и он запускает цикл событий GUI (что позволяет взаимодействовать с мышью).