【发布时间】:2021-07-06 01:02:41
【问题描述】:
我最近发现 matplotlib 是 Matlab 绘图的更好替代品。不幸的是,我对python的了解接近于零。
考虑以下最小的工作示例:我希望图例中的条目按照声明它们的顺序出现。我从this post 了解到,条目首先根据类型排序,然后根据顺序(在这种情况下,两个线图总是在散点图之前)。
我尝试将上述帖子中的方法应用到我的示例中,即创建句柄并将它们传递给plt.legend,但它不起作用。不幸的是,我这样做很盲目,因为我不完全理解我在做什么,所以这可能是错误的方法或一些语法错误。如何调整下面的简单代码来强制执行所需的图例顺序?
import numpy as np
import scipy.io
from matplotlib import pyplot as plt
plt.figure(figsize=[3.3, 3.3])
plt.rcParams.update({'font.size': 8, 'text.usetex': True})
plt.scatter([1, 2, 3], [5, 10, 15], label='1st entry')
plt.plot([1, 2, 3, 4], [1, 4, 9, 16], label='2nd entry')
plt.plot([1, 2, 3, 4], [1, 2, 3, 4], label='3st entry')
plt.grid()
plt.xlabel('x')
plt.ylabel('y')
plt.legend(loc='lower right', labelspacing=0.25, handlelength=0.4, handletextpad=0.7)
plt.savefig('filename.pdf', format='pdf')
plt.show()
【问题讨论】:
标签: python matplotlib legend