from em_examples.EMcircuit  import Qfun
import numpy as np
import matplotlib.pyplot as plt
L = 1.
R = 2000.
alpha = np.logspace(-3, 3, 100)
alpha, Q = Qfun(R, L, None, alpha=alpha)
fig = plt.figure(figsize=(10, 3))
ax1 = plt.subplot(121)
ax2 = plt.subplot(122)
ax2_1 = ax2.twinx()
ax1.semilogx(alpha, Q.real, 'k', lw=3)
ax1.semilogx(alpha, Q.imag, 'r', lw=3)
ax1.grid(True)
ax1.legend(("Real","Imaginary"), loc=2)
ax1.set_xlabel("Induction number ($\\alpha$)")
ax1.set_ylabel("Response function (Q)")
ax2.semilogx(alpha, abs(Q), 'k', lw=3)
ax2_1.semilogx(alpha, np.angle(Q, deg=True), 'r', lw=3)
ax2.grid(True)
ax2.set_ylabel("Amplitude |Q|")
ax2_1.set_ylabel('Pahse (angle)', color='r')
ax2.set_xlabel("Induction number ($\\alpha$)")
for tl in ax2_1.get_yticklabels():
    tl.set_color('r')
plt.tight_layout()
plt.show()