擅长:python、mysql、java
<p>在通过图例文本getter/setters和轴线getter/setters完成所有绘图之后,可以干净地完成此操作。打印前,将图例文本颜色设置为与for循环中的线条颜色相同。</p>
<pre><code>import matplotlib.pyplot as plt
import numpy as np
x = np.arange(10)
fig = plt.figure()
ax = plt.subplot(111)
for i in xrange(5):
ax.plot(x, i * x, label='$y = %ix$' % i)
leg = ax.legend()
def color_legend_texts(leg):
"""Color legend texts based on color of corresponding lines"""
for line, txt in zip(leg.get_lines(), leg.get_texts()):
txt.set_color(line.get_color())
color_legend_texts(leg)
plt.show()
</code></pre>
<p>在这个答案中要注意的主要区别是,格式化绘图可以与绘图操作完全分离。</p>