【问题标题】:Hide certain categorical element from legend in Plotnine在 Plotnine 的图例中隐藏某些分类元素
【发布时间】:2021-10-13 07:55:26
【问题描述】:

在 Plotnine 中,是否可以隐藏某些图例元素?

mpg_select = mpg[mpg["manufacturer"].isin(pd.Series(["audi", "ford", "honda", "hyundai"]))]

我只选择了 4 家制造商。但是当我绘制数据时,我仍然将不在数据中的制造商视为我的图例的元素。

(ggplot(mpg_select, aes(x="displ", y="cty"))
    + geom_jitter(aes(size="hwy", color="manufacturer"))
    + geom_smooth(aes(color="manufacturer"), method="lm", se=False)
    + labs(title="Bubble chart")
)

如何仅显示我选择的制造商(奥迪、福特、本田和现代)作为我的图例?

【问题讨论】:

    标签: python plotnine


    【解决方案1】:

    这是因为 manufacturer 列是分类的,它仍然包含所有这些类别。您可以从列中删除类别,额外的值将从图例中删除。

    from plotnine.data import mpg
    
    desired_manufacturers = ['audi','ford','honda','hyundai']
    mpg_select = mpg.loc[mpg['manufacturer'].isin(desired_manufacturers)]
    mpg_select['manufacturer_subset'] = pd.Categorical(mpg_select['manufacturer'],
                                                       categories=desired_manufacturers)
    
    (ggplot(mpg_select, aes(x="displ", y="cty"))
        + geom_jitter(aes(size="hwy", color="manufacturer_subset"))
        + geom_smooth(aes(color="manufacturer_subset"), method="lm", se=False)
        + labs(title="Bubble chart")
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-09
      相关资源
      最近更新 更多