In [2]:
%matplotlib inline
import numpy as np 
import matplotlib.pyplot as plt
In [3]:
v = np.linspace(-2,2)
print v
[-2.         -1.91836735 -1.83673469 -1.75510204 -1.67346939 -1.59183673
 -1.51020408 -1.42857143 -1.34693878 -1.26530612 -1.18367347 -1.10204082
 -1.02040816 -0.93877551 -0.85714286 -0.7755102  -0.69387755 -0.6122449
 -0.53061224 -0.44897959 -0.36734694 -0.28571429 -0.20408163 -0.12244898
 -0.04081633  0.04081633  0.12244898  0.20408163  0.28571429  0.36734694
  0.44897959  0.53061224  0.6122449   0.69387755  0.7755102   0.85714286
  0.93877551  1.02040816  1.10204082  1.18367347  1.26530612  1.34693878
  1.42857143  1.51020408  1.59183673  1.67346939  1.75510204  1.83673469
  1.91836735  2.        ]
In [10]:
I0 = -0.1
a = 2.
V0 = -1.0
def photoCurrent(params, v):
    (V0, a, I0) = params[:]
    IModel = np.zeros_like(v)
    IModel[v<V0] = a * (v[v<V0]-V0)**2 + I0
    IModel[v>=V0] = I0 + np.zeros_like(v[v>=V0])
    return IModel
IModel = photoCurrent((V0,a,I0),v)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(v, IModel)
ax.plot((V0,V0),(I0-.2, I0+.2), 'r-', lw=3)
ax.text(V0,I0+.3,"V0")
ax.set_xlabel("Bias Voltage (V)")
ax.set_ylabel("Current (nA)")
plt.title("405nm")    
Out[10]:
<matplotlib.text.Text at 0x7f0941644a50>
In [ ]: