As the docs say, although it's easy to miss:
If label attribute is empty string or starts with “_”, those artists
will be ignored.
So if I'm plotting similar lines in a loop and I only want one example line in the legend, I usually do something like
ax.plot(x, y, label="Representatives" if i == 0 else "")
where i
is my loop index.
It's not quite as nice to look at as building them separately, but often I want to keep the label logic as close to the line drawing as possible.
(Note that the matplotlib
developers themselves tend to use "_nolegend_"
to be explicit.)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…