python axhline标签没有出现在情节中

时间:2015-08-11 19:35:51

标签: python matplotlib

我有以下小功能:

def plotresults(freqs,power,prob,title,sigP):
    pl.suptitle(title)
    ax1 = pl.subplot(2,1,1)
    ax1.axhline(y=sigP, color='r', ls='--',label='p=0.05')
    pl.plot(freqs,power)
    ax1.set_ylabel('Spectral Power')

    ax2 = pl.subplot(2,1,2)
    ax2.axhline(y=0.05, color='r', ls='--', label='p=0.05')
    pl.semilogy(freqs,prob)
    ax2.set_xlabel(r'Frequency (years$^{-1}$)')
    ax2.set_ylabel('p-value')
    pl.savefig('lsfast/figs/'+title+'.png')
    pl.close()

它绘制得很好并绘制了应该在哪里的线条,但线条标签不会出现在任何地方。我究竟做错了什么?附上了一个输出示例:

Example plot created using the above function

2 个答案:

答案 0 :(得分:6)

情节sets the label that's used by legend的标签kwarg。要显示它,您可以为地块添加legend。或者,您可能希望使用annotate

答案 1 :(得分:3)

我不认为将标签附加到线上是为了将此标签绘制到图中,它只是将此标签与线相关联,并可用于创建图例。