How to draw vertical lines on a given plot in matplotlib

后端 未结 6 666
我寻月下人不归
我寻月下人不归 2020-11-28 18:27

Given a plot of signal in time representation, how to draw lines marking corresponding time index?

Specifically, given a signal plot with time index ranging from 0 t

6条回答
  •  难免孤独
    2020-11-28 19:12

    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).

提交回复
热议问题