擅长:python、mysql、java
<p>已解决:</p>
<pre><code>import matplotlib.pyplot as plt
my_labels = {"x1" : "Multiples of 3", "x2" : "Multiples of 9","x3":'All of the rest'}
for i in range(1,20):
if i%3==0 and i%9!=0:
plt.plot(range(1,20),[i+3 for i in range(1,20)], c='b', label = my_labels["x1"])
my_labels["x1"] = "_nolegend_"
elif i%9==0:
plt.plot(range(1,20),[i+9 for i in range(1,20)], c='r', label = my_labels["x2"])
my_labels["x2"] = "_nolegend_"
else:
plt.plot(range(1,20),[j for j in range(1,20)],c='g', label = my_labels["x3"])
my_labels["x3"] = "_nolegend_"
plt.legend(loc="best") #
plt.show()
</code></pre>
<p>请参阅<a href="https://stackoverflow.com/questions/19385639/duplicate-items-in-legend-in-matplotlib/19386045#19386045">this</a>链接中提供的<code>doc</code>链接,这将有助于解释答案。你知道吗</p>