In [1]:
import matplotlib.pyplot as plt
import numpy as np
from IPython.html.widgets import interact
%matplotlib inline


:0: FutureWarning: IPython widgets are experimental and may change in the future.

In [23]:
xvals = np.arange(-10,10,0.2)
yvals = np.arange(-10,10,0.2)
X, Y = np.meshgrid(xvals,yvals)

def wave1(x, y, t):
    return np.sin((x+t))
def wave2(x, y, t):
    return np.sin(y+t)  
def wave1(x, y, t):
    return np.sin((-0.02*x+0.6*y+t))
def wave2(x, y, t):
    return np.sin(0.2*x+1*y+t) 

Data1 = []
Data2 = []
DataSum = []
for time in range(100):
    wave = np.array(wave1(X, Y, time/10.)) * np.array(wave1(X, Y, time/10.))
    wave_2 = np.array(wave2(X, Y, time/10.)) * np.array(wave2(X, Y, time/10.))
    sum_wave = (wave + wave_2) * (wave + wave_2)
    Data1.append(wave)
    Data2.append(wave_2)
    DataSum.append(sum_wave)

def plot_method(time = 0):
    wave = np.array(wave1(X, Y, time))
    wave_2 = np.array(wave2(X, Y, time))
    sum_wave = wave + wave_2
    plt.close()
    fig = plt.figure(figsize=(5,7))
    ax1 = plt.subplot2grid((3,2), (0,0))
    ax2 = plt.subplot2grid((3,2), (0,1))
    ax3 = plt.subplot2grid((3,2), (1,0), colspan=2, rowspan=2)
    fig.tight_layout()
    plt.set_cmap('Blues')
    ax1.pcolormesh(X,Y,wave)
    ax2.pcolormesh(X,Y,wave_2)
    ax3.pcolormesh(X,Y,sum_wave)
    ax1.set_yticks([])
    ax1.set_xticks([])
    ax2.set_yticks([])
    ax2.set_xticks([])
    ax3.set_yticks([])
    ax3.set_xticks([])
    
def plot_method(time = 0.0):
    plt.close()
    fig = plt.figure(figsize=(5,7))
    ax1 = plt.subplot2grid((3,2), (0,0))
    ax2 = plt.subplot2grid((3,2), (0,1))
    ax3 = plt.subplot2grid((3,2), (1,0), colspan=2, rowspan=2)
    fig.tight_layout()
    plt.set_cmap('Blues')
    ax1.pcolormesh(X,Y,Data1[time])
    ax2.pcolormesh(X,Y,Data2[time])
    ax3.pcolormesh(X,Y,DataSum[time])
    ax1.set_yticks([])
    ax1.set_xticks([])
    ax2.set_yticks([])
    ax2.set_xticks([])
    ax3.set_yticks([])
    ax3.set_xticks([])
    
interact(plot_method, time=(0,99,1))


Out[23]:
<function __main__.plot_method>

In [ ]:
xvals = np.arange(-10,10,0.02)
yvals = np.arange(-10,10,0.02)
X, Y = np.meshgrid(xvals,yvals)

def wave1(x, y, t):
    return np.sin((-0.1*x+1*y+t))
def wave2(x, y, t):
    return np.sin(0.1*x+1*y+t) 

wave_1 = np.array(wave1(X, Y, 0))
wave_2 = np.array(wave2(X, Y, 0))
sum_wave = wave_1 + wave_2
binned_sum = np.empty_like(yvals)
for i, row in enumerate(sum_wave):
    binned_sum[i] = np.sum(row)
fig = plt.figure(figsize=(10,14))
ax1 = plt.subplot2grid((3,2), (0,0))
ax2 = plt.subplot2grid((3,2), (0,1))
ax3 = plt.subplot2grid((3,2), (1,0), colspan=2, rowspan=2)
fig.tight_layout()
plt.set_cmap('Blues')
#plt.set_cmap('winter')
ax1.pcolormesh(X,Y,wave_1*wave_1)
#ax1.drawline([-10,-10],[10,10])
ax2.pcolormesh(X,Y,wave_2*wave_2)
ax3.pcolormesh(X,Y,sum_wave*sum_wave)
ax1.set_yticks([])
ax1.set_xticks([])
ax2.set_yticks([])
ax2.set_xticks([])
ax3.set_yticks([])
ax3.set_xticks([])
plt.show()
plt.plot(yvals,binned_sum)

In [ ]:


In [ ]: