如何控制facet_wrap分面标签显示 移除多余的model字段
ggplot2 facet_wrap 分面标签移除指定字段方案
针对你提到的需求,分两种常见场景给出对应实现代码:
场景1:无需按model拆分分面(最常用)
如果你只是误将model写入分面维度,实际需要每个分面展示对应年份所有奥迪车型的数据,用颜色区分车型,直接修改facet_wrap的分面变量即可:
library(tidyverse) mpg %>% filter(manufacturer=='audi') %>% ggplot(aes(cty, hwy)) + geom_point(aes(col = model)) + # 仅保留year作为分面维度,标签自然仅显示年份 facet_wrap(~year)
场景2:保留year+model分面逻辑,仅隐藏标签中的model信息
如果你确实需要每个分面仅展示单个年份+单个车型的组合,只是不想在标签里重复显示已通过颜色标注的model字段,可以通过自定义labeller实现:
library(tidyverse) mpg %>% filter(manufacturer=='audi') %>% ggplot(aes(cty, hwy)) + geom_point(aes(col = model)) + facet_wrap(year~model, # 自定义标签仅返回年份信息 labeller = function(labels) labels$year)
两种场景的差异:场景1的每个分面包含同一年份的所有车型数据,不同颜色的点在同一分面展示;场景2的分面拆分逻辑和原代码完全一致,仅标签隐藏了车型信息。
内容的提问来源于stack exchange,提问作者Ryan
相关产品推荐
相关产品推荐

