简单使用
plt.legend()
告诉您正在打印哪些数据:
您正在使用
someBoolean
就像色调一样。因此,您实际上是通过对数据应用布尔掩码来创建两行。一行表示假值(在上面的图例中显示为0),另一行表示真值(在上面的图例中显示为1)。
为了获得所需的图例,需要设置控制柄和标签。您可以使用
ax.get_legend_handles_labels()
. 然后确保省略第一个句柄,如上图所示,该句柄没有艺术家:
ax = sns.lineplot(x="x", y="y", hue="someBoolean", data=data)
plt.axhline(y=7, c='red', linestyle='dashed', label="horizontal")
labels = ["some name", "some other name", "horizontal"]
handles, _ = ax.get_legend_handles_labels()
plt.legend(handles = handles[1:], labels = labels)
这使得: