How to plot 1-d data at given y-value with pylab

后端 未结 2 692
忘掉有多难
忘掉有多难 2021-02-06 23:02

I want to plot the data points that are in a 1-D array just along the horizontal axis [edit: at a given y-value], like in this plot:

2条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2021-02-06 23:47

    Staven already edited his post to include how to plot the values along y-value 1, but he was using Python lists.

    A variant that should be faster (although I did not measure it) only uses numpy arrays:

    import numpy as np
    import matplotlib.pyplot as pp
    val = 0. # this is the value where you want the data to appear on the y-axis.
    ar = np.arange(10) # just as an example array
    pp.plot(ar, np.zeros_like(ar) + val, 'x')
    pp.show()
    

    As a nice-to-use function that offers all usual matplotlib refinements via kwargs this would be:

    def plot_at_y(arr, val, **kwargs):
        pp.plot(arr, np.zeros_like(arr) + val, 'x', **kwargs)
        pp.show()
    

提交回复
热议问题