小编use*_*775的帖子

如何移动图形图例的标记和颜色部分

我正在创建一个图形(带有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)

只有图例的颜色部分可见,标记部分不可见。

传奇的所有部分如何移动?

python matplotlib seaborn seaborn-0.12.x

7
推荐指数
1
解决办法
253
查看次数

标签 统计

matplotlib ×1

python ×1

seaborn ×1

seaborn-0.12.x ×1