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

KBr*_*ggs 5 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()
Run Code Online (Sandbox Code Playgroud)

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

使用上述函数创建的示例图

Mol*_*lly 9

绘图的标签kwarg 设置了图例使用的标签.要显示它,您可以为绘图添加图例.或者,您可能希望使用注释.

  • 您能否添加几行代码来展示如何使用 axhline 中定义的标签显示图例? (2认同)
  • 调用 `plt.legend()` 为我显示了标签,但我相信您也可以在 `ax` 上调用它。例如: `import matplotlib.pyplot as plt;` `plt.figure();` `plt.axhline(y=0.5, color='r', linestyle='--', label='label');` ` plt.legend();` `plt.show()` (2认同)