Plotnine如何仅在图例中展示已筛选的分类元素
Plotnine图例仅展示选中分类的解决方法
出现该问题的核心原因是你的manufacturer列为分类类型,筛选数据后未使用的分类水平没有被自动移除,因此Plotnine绘制图例时仍然会展示所有原分类项,可通过以下两种方法解决:
- 方法一:预处理数据集,移除未使用的分类水平(适合后续还要基于该筛选数据集做其他分析的场景)
# 筛选数据后新增这一行,重置manufacturer列的分类水平 mpg_select['manufacturer'] = mpg_select['manufacturer'].cat.remove_unused_categories() # 后续绘图代码不变即可 (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") )
- 方法二:直接在绘图时通过颜色标尺限制展示的分类项(适合仅单次绘图需要调整图例的场景,无需修改原数据)
(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") # 新增这一行,指定要在图例中显示的厂商列表 + scale_color_discrete(limits=["audi", "ford", "honda", "hyundai"]) )
内容的提问来源于stack exchange,提问作者jxu
相关产品推荐
相关产品推荐

