In [58]:
import numpy as np
import matplotlib.pyplot as plt
import scipy.interpolate

from matplotlib import animation
from JSAnimation import IPython_display

%matplotlib inline

In [59]:
filename='data.dat'
with open(filename,'r') as myfile:
    nnod = int(myfile.readline())
    
data = np.genfromtxt(filename,skip_header=1,skip_footer=1)

In [60]:
numSteps=int(len(data.T[0])/nnod)

N = numSteps

x = data.T[0][(N-1)*nnod:(N)*nnod]
y = data.T[1][(N-1)*nnod:(N)*nnod]
z = data.T[2][(N-1)*nnod:(N)*nnod]

div = len(np.unique(x))

print('N =', N, ' and div =', div)


N = 29  and div = 21

In [64]:
fig = plt.figure(figsize=(6,5))
ax = plt.axes(xlim=(min(x), max(x)), ylim=(min(y), max(y)))

#xi, yi = np.linspace(x.min(), x.max(), 100), np.linspace(y.min(), y.max(), 100)
#xi, yi = np.meshgrid(xi, yi)

#rbf = scipy.interpolate.Rbf(x, y, z, function='linear')
#zi = rbf(xi, yi)

plt.tricontourf(x,y,z,div)
#plt.imshow(zi, vmin=z.min(), vmax=z.max(), origin='lower',
#           extent=[x.min(), x.max(), y.min(), y.max()])
plt.scatter(x, y, c=z)

plt.colorbar()
plt.show()



In [62]:
fig = plt.figure(figsize=(5,5))
ax = plt.axes(xlim=(min(x), max(x)), ylim=(min(y), max(y)))

x = data.T[0][:nnod]
y = data.T[1][:nnod]
z = data.T[2][:nnod]

# set up imshow and scatter plots
#triconPlt, = ax.tricontourf(x, y, z, 20)
#scatterPlt, = ax.scatter(x, y, z)

#def init():
#    triconPlt.set_data([], [], [])
#    scatterPlt.set_data([], [], [])
        
#    return tricontourf + scatterPlt

def animate(i):
    x = data.T[0][(i)*nnod:(i+1)*nnod]
    y = data.T[1][(i)*nnod:(i+1)*nnod]
    z = data.T[2][(i)*nnod:(i+1)*nnod]
    
#    xi, yi = np.linspace(x.min(), x.max(), 100), np.linspace(y.min(), y.max(), 100)
#    xi, yi = np.meshgrid(xi, yi)
    
#    rbf = scipy.interpolate.Rbf(x, y, z, function='linear')
#    zi = rbf(xi, yi)
    
#    imshowPlt.set_data(zi)
    ax.tricontourf(x, y, z,div)
    ax.scatter(x, y, c=z)
    
    return 0 # triconPlt+scatterPlt

animation.FuncAnimation(fig, animate, # init_func=init,
                        frames=numSteps, interval=1, blit=False)


Out[62]:


Once Loop Reflect

In [ ]: