# numpy for data processing
import numpy as np
t = np.arange(0.0, 1.01, 0.01)
t


# numpy for data processing
import matplotlib.pyplot as plt
import numpy as np

t = np.arange(0.0, 1.01, 0.01)
plt.plot(2*np.pi*t, np.sin(2*np.pi*t) )
plt.show()


# numpy for data processing
import matplotlib.pyplot as plt
import numpy as np

t = np.arange(0.0, 1.01, 0.01)
plt.plot(2*np.pi*t, np.sin(2*np.pi*t) )
plt.annotate('zero crossing', xy=(np.pi, 0), xytext=(4, 0.5),
            arrowprops=dict(facecolor='black'))
plt.grid(True)
plt.show()


# numpy for data processing
import matplotlib.pyplot as plt
import numpy as np

def decay(t):
    return np.exp(-t) * np.cos(2*np.pi*t) # damped sinusoid  

t = np.arange(0.0, 4.01, 0.01)
plt.plot(t, decay(t))
plt.xlabel('time')
plt.ylabel('energy')
plt.title('damped sinusoid')
plt.show()


# data histogram
import numpy as np
import matplotlib.pyplot as plt

x = np.random.randn(100000)
plt.hist(x, 20)
plt.show()


