标签对象未找到

JDG*_*DGD 5 python charts matplotlib

使用正常工作的matplotlib设置图形(见下图),但是当我尝试添加图例时,我收到以下错误: UserWarning: No labeled objects found. Use label='...' kwarg on indivial plots.

这是我用来在图例中定义我想要的线条并绘制图例的代码:

#Moving average labels
smaLabel1 = str(SMA1)+'d SMA'
smaLabel2 = str(SMA2)+'d SMA'
smaLabel3 = str(SMA3)+'d SMA'

#Add SMAs to chart
ax1.plot(ind, avg1, '#5998ff', label=smaLabel1, linewidth=1)
ax1.plot(ind, avg2, '#ffbb82', label=smaLabel2, linewidth=1)
ax1.plot(ind, avg3, '#d689c4', label=smaLabel3, linewidth=1)
""" End SMA additions """

#Add legend
plt.legend()
Run Code Online (Sandbox Code Playgroud)

我检查了smaLabel变量,并且都保存了正确的字符串.有人知道为什么标签没有注册?

在此输入图像描述

CT *_*Zhu 9

在绘制SMA之前,您必须绘制蜡烛图和体积图.蜡烛图没有任何标记对象,当你调用plt.legend()它时,它会尝试为当前轴上的每个图绘制一个标签.因此,你得到这个UserWarning: No labeled objects found. Use label='...' kwarg on indivial plots.

为了解决这个问题,我希望在这一点上很清楚,只需要你在蜡烛图之前首先绘制SMA,然后在legend()生成任何其他图之前调用右边的SMA .