Python, Matplotlib, многострочный сюжет (массив) и анимация

Я начинаю программировать на Python (и ООП), но у меня большой опыт программирования на Fortran (90/95) и Matlab.

Я разрабатываю небольшой инструмент с использованием анимации в среде tkinter. Целью этого инструмента является анимация многострочных (массив, а не вектор данных). Ниже приведен простой пример моей проблемы. Я не понимаю, почему результат этих двух способов построения данных так различен?

from pylab import *

Nx=10
Ny=20

xx   = zeros( ( Nx,Ny) )
data = zeros( ( Nx,Ny) )

for ii in range(0,Nx):
    for jj in range(0,Ny):
        xx[ii,jj]   = ii
        data[ii,jj] = jj


dline = plot(xx,data)

mline, = plot([],[])
mline.set_data(xx.T,data.T)

show()

Если вы наносите только «dline», каждая линия отображается отдельно и с другим цветом. Если вы строите только «mline», все линии связаны между собой и имеют только один цвет.

Моя цель - сделать анимацию с «mline», изменяющей данные в каждом цикле. Вот простой исходный код, иллюстрирующий мои цели:

from pylab import *
from matplotlib import animation

Nx=10
Ny=20

fig = plt.figure()
fig.set_dpi(100)
fig.set_size_inches(7, 6.5)

ax = plt.axes(xlim=(0, Nx), ylim=(0, Ny))

xx   = zeros( ( Nx,Ny) )
data = zeros( ( Nx,Ny) )
odata = zeros( ( Nx,Ny) )

for ii in range(0,Nx):
    for jj in range(0,Ny):
        xx[ii,jj]    = ii
        odata[ii,jj] = jj
        data[ii,jj]  = 0.

#dline = plot(xx,odata)

mline, = plot([],[])

def init():
    mline.set_data([],[])
    return mline,

def animate(coef):
   for ii in range(0,Nx):
        for jj in range(0,Ny):
            data[ii,jj] = odata[ii,jj] * (1.-float(coef)/360.)

   mline.set_data(xx.T,data.T)
   return mline,

anim = animation.FuncAnimation(fig, animate, 
                               init_func=init, 
                               frames=360, 
                               interval=5,
                               blit=True)

plt.show()

Я надеюсь, что я ясно показал свою проблему.

Спасибо, Николас.

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

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