我正在创建一个图形(带有seaborn.objects界面),需要带有颜色和标记的图例。我正在尝试移动生成的图例,但在移动标记部分时遇到问题。请参阅下面的示例:
该示例旨在在笔记本环境中运行。添加plt.show()以在作为 Python 文件运行时显示图形。
import matplotlib.pyplot as plt
import seaborn as sns
import seaborn.objects as so
mpg = sns.load_dataset("mpg")
f, axs = plt.subplots(1, 2, figsize=(8, 4))
_ = (
so.Plot(mpg, "weight", "acceleration", color="cylinders")
.add(so.Dot(), marker="origin")
.scale(
color=["#49b", "#a6a", "#5b8", "#128", "#332"],
marker={"japan": ".", "europe": "+", "usa": "*"},
)
.on(axs[0])
.plot()
)
Run Code Online (Sandbox Code Playgroud)
我试图将图例从情节的最右侧移动到子情节的右侧。如何使用 Seaborn 0.12 对象自定义图例?在这种情况下只是部分解决方案。仅部分图例移动成功。我想知道为什么没有看到传说的第二部分......legend_handles
l1 = f.legends.pop(0)
axs[0].legend(l1.legend_handles, [t.get_text() for t in l1.texts])
Run Code Online (Sandbox Code Playgroud)
传奇的所有部分如何移动?