Совместить масштаб или совместить по оси w
Рисую два графика с разными масштабами, но не получается совместить их по оси w. Надо совместить L(w) и -Fi(w) по принципу 0 = -pi. Рисую в python+matplotlib.
import matplotlib.pyplot as plt
import numpy as np
def W(w):
return 36.69487 / (0.00008214*(1j*w)**4 + 0.017538*(1j*w)**3 + 26.440677*(1j*w)**2 + (1j*w))
def A(w):
resW = W(w)
return np.sqrt(resW.real**2 + resW.imag**2)
def L(w):
return 20*np.log10(A(w))
def Fi(w):
resW = W(w)
U, V = resW.real, resW.imag
return np.arctan(V/U)
w = np.linspace(0.01, 1000, 1000)
wzero = np.zeros(w.shape)
fig, ax = plt.subplots()
ax1 = ax.twinx()
ax.plot(w, L(w),color='r')
ax1.plot(w,-Fi(w)-np.pi,color='b')
plt.xscale('log')
plt.xlim([0.01,100])
ax.set_ylabel('L(w)')
ax1.set_ylabel('-Fi(w)')
Ответы (1 шт):
Автор решения: strawdog
→ Ссылка
А если поместить начало координат для ax в середину оси?:
yabs_max = abs(max(ax.get_ylim(), key=abs))
ax.set_ylim(ymin=-yabs_max, ymax=yabs_max)

