Seaborn 虚线并非图例中的虚线

vfe*_*raz 4 matplotlib python-3.x seaborn

我有以下图表:

sns.set_context("paper", font_scale = 1)

ax = sns.lineplot(x="generation", y="fitness", hue="Quadrant", data=dfnash)
ax.lines[4].set_linestyle(":")
ax.set_xlabel("Generation")
ax.set_ylabel("Fitness Scores (Aggregated Expected Utility)")
#ax.legend(loc='center left', bbox_to_anchor=(1, 0.5))
plt.tight_layout()
plt.savefig('nash7.png', dpi = 600, transparent=True)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我希望其中一条线是虚线,即“整个空间”系列,但图例仍然显示一条规则线。这是正常行为吗?我是否需要手动更改图例中的某些内容以遵循图表中的样式?

vfe*_*raz 5

事实证明,修复起来非常容易。您可以单独获取图例线,就像获取图表线一样。

leg = ax.legend()
leg_lines = leg.get_lines()
leg_lines[5].set_linestyle(":")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述