How to draw vertical lines on a given plot
matplotlib, pandas, python, seaborn
Solution
The standard way to add vertical lines that will cover your entire plot window without you having to specify their actual height is `plt.axvline`
import matplotlib.pyplot as plt
plt.axvline(x=0.22058956)
plt.axvline(x=0.33088437)
plt.axvline(x=2.20589566)
OR
xcoords = [0.22058956, 0.33088437, 2.20589566]
for xc in xcoords:
plt.axvline(x=xc)
You can use many of the keywords available for other plot commands (e.g. `color`, `linestyle`, `linewidth` ...). You can pass in keyword arguments `ymin` and `ymax` if you like in axes corrdinates (e.g. `ymin=0.25`, `ymax=0.75` will cover the middle half of the plot). There are corresponding functions for horizontal lines (`axhline`) and rectangles (`axvspan`).
Problem
Given a plot of a signal in time representation, how can I draw lines marking the corresponding time index? Specifically, given a signal plot with a time index ranging from 0 to 2.6 (seconds), I want to draw vertical red lines indicating the corresponding time index for the list `[0.22058956, 0.33088437, 2.20589566]`. How can I do it?