I am looking for the points of intersection of a vertical line with a plot that I have made that has pyplot
's interpolated values.
I think the code and plot below will make my question more clear. Below is some example code, and the resulting plot. What I am looking for is all intersection points between the red vertical line and the blue lines (so there should be 3 such points in this case).
I am at a loss for how to do this - does anyone know how?
The code:
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
t = np.linspace(-np.pi, np.pi, 512, endpoint=False) + 0.0001 # 0.0001 to get rid of 0 values.
# normalized square wave
u = np.sign(np.sin(2 * np.pi * t))
u = u - np.min(u)
u = u / np.max(u)
# rotate the square wave
phi = - np.pi / 3.0
t_rot = t * np.cos(phi) - u * np.sin(phi)
u_rot = u * np.cos(phi) + t * np.sin(phi)
# level the rotated square wave
u_rot_leveled = u_rot + np.tan(-phi) * t_rot
plt.plot(t_rot, u_rot_leveled, '.-')
plt.axvline(x=-1.1, linestyle=':', color='red')
Thanks for any help!