In [2]:
%matplotlib inline
from matplotlib import pyplot as plt
import numpy as np
In [3]:
from IPython.html.widgets import interact, interactive, fixed
from IPython.display import display
Write a plot_sin1(a, b) function that plots $sin(ax+b)$ over the interval $[0,4\pi]$.
$3\pi$.
In [4]:
# YOUR CODE HERE
def plot_sin1(a, b):
x = np.linspace(0, 4*np.pi, 200)
ax = plt.subplot(111)
plt.plot(x, np.sin(a*x + b))
plt.xlim((0, 4*np.pi))
plt.ylim((-1.1, 1.1))
plt.xticks([0, np.pi, 2*np.pi, 3*np.pi, 4*np.pi], ["0", "$\pi$", "$2\pi$", "$3\pi$", "$4\pi$"])
plt.tick_params(axis = "x", direction = "out", length = 5)
plt.tick_params(axis = "y", direction = "out", length = 5)
plt.grid(True)
ax.spines["right"].set_visible(False)
ax.spines["top"].set_visible(False)
In [5]:
plot_sin1(5, 3.4)
Then use interact to create a user interface for exploring your function:
a should be a floating point slider over the interval $[0.0,5.0]$ with steps of $0.1$.b should be a floating point slider over the interval $[-5.0,5.0]$ with steps of $0.1$.
In [6]:
# YOUR CODE HERE
interact(plot_sin1, a=(0.0, 5.0, 0.1), b=(-5.0, 5.0, 0.1))
Out[6]:
In [7]:
assert True # leave this for grading the plot_sine1 exercise
In matplotlib, the line style and color can be set with a third argument to plot. Examples of this argument:
r--bok.Write a plot_sine2(a, b, style) function that has a third style argument that allows you to set the line style of the plot. The style should default to a blue line.
In [8]:
# YOUR CODE HERE
def plot_sine2(a, b, style="b"):
#fig = plot_sin1(a, b)
#plt.figure(fig)
#plt.set_linestyle = style
x = np.linspace(0, 4*np.pi, 200)
ax = plt.subplot(111)
plt.plot(x, np.sin(a*x + b), style)
plt.xlim((0, 4*np.pi))
plt.ylim((-1.1, 1.1))
plt.xticks([0, np.pi, 2*np.pi, 3*np.pi, 4*np.pi], ["0", "$\pi$", "$2\pi$", "$3\pi$", "$4\pi$"])
plt.tick_params(axis = "x", direction = "out", length = 5)
plt.tick_params(axis = "y", direction = "out", length = 5)
plt.grid(True)
ax.spines["right"].set_visible(False)
ax.spines["top"].set_visible(False)
In [9]:
plot_sine2(4.0, -1.0, 'r--')
Use interact to create a UI for plot_sine2.
a and b as above.
In [11]:
# YOUR CODE HERE
interact(plot_sine2, a=(0.0, 5.0, 0.1), b=(-5.0, 5.0, 0.1), style={'dotted blue line':"b--", "black circles":"ko", "red triangles":"r^"})
In [ ]:
assert True # leave this for grading the plot_sine2 exercise