给定时间表示中的信号图,如何绘制标记相应时间指标的线?
具体来说,给定时间索引范围为0到2.6(s)的信号图,我想绘制垂直红线,表示列表的相应时间索引[0.22058956, 0.33088437, 2.20589566],我该怎么办?
我使用matplotlib库绘制了一个图,它描绘了两个直方图和平均线.我认为如果添加传说,情节会更清晰.我想创建一个图例,说明这两条平均线的确切值.下面我附上我的代码和我生成的图表以及显示我想要实现的图片(这是我使用powerpoint添加图例的图片):
def setPlot(data, mycolor, myalpha, mylinestyle):
    plt.style.use('ggplot')
    plt.rc('xtick',labelsize=12)
    plt.rc('ytick',labelsize=12)
    plt.xlabel("Incomes")
    plt.hist(data, bins=50, color= mycolor, alpha=myalpha)
    plt.axvline(numpy.mean(data), color=mycolor, linestyle=mylinestyle, linewidth=1.5)
    plt.show()


我将不胜感激任何建议.
- - - - - -解 - - - -
感谢来自wwii和tom的伟大建议,我能够实现我的想法的解决方案.我试图连接这两个建议,这就是我获得的:
def setPlot(data, mycolor, myalpha, mylinestyle):
    plt.style.use('ggplot')
    plt.rc('xtick',labelsize=12)
    plt.rc('ytick',labelsize=12)
    plt.xlabel("Incomes")
    plt.hist(data, bins=50, color= mycolor, alpha=myalpha)
    plt.axvline(numpy.mean(data), color=mycolor, linestyle=mylinestyle, linewidth=1.5, label=str(numpy.mean(data)))
    plt.legend(loc='upper right')
    plt.show()
以及我生成的情节的例子:

非常感谢你的帮助!
我有一个有几年数据的时间序列,例如:
ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))
ts = ts.cumsum()
ts.plot()
我还有两个额外的数组:让我们先调用它
dates = [pd.datetime("2000-12-01"), pd.datetime("2001-01-03")]
第二个
labels = ["My birthday", "My dad's birthday"]
labels [i]包含date [i]的标签.我想要做的是在时间序列图中显示它们,以便识别它们.一种可能的可视化方法是在x轴上显示日期,从那里开始绘制一条垂直线,并在图例(带颜色编码)或线旁边的某处标记.
最终结果不应该与此有太大不同: