提问人:Crunchysoups 提问时间:10/28/2023 最后编辑:TillCrunchysoups 更新时间:10/28/2023 访问量:37
尝试从facet_grid中删除一个标签,但它显示在 NA 上。我怎样才能一起摆脱这个标签?
Trying to remove one label from facet_grid, but it shows up at NA. How can I get rid of this label all together?
问:
我正在尝试生成一个带有facet_grid的条形图,以显示我的主要分类变量(“行踪”),我的子类别(“事物”)绘制在条形图上。但是,我想完全删除“死”的标签,因为它是多余的,而且有点分散注意力。有谁知道我能做到这一点?
顺便说一句,我还注意到fat_relevel似乎没有在这里合作。那里有什么见解吗?
这是我显示问题的初始代码和图形:
SpookyReport2 <- HalloweenData %>% mutate(Whereabouts = fct_relevel(Whereabouts, c("Dead", "Halfdead", "Alive"))) %>%
ggplot(HalloweenData, mapping = aes(x=Thingies, y=TotalSpook, fill= Thingies)) +
geom_bar(stat='summary') +
geom_beeswarm(aes(x = Thingies, y = TotalSpook), dodge.width = 0.9, alpha = 0.5)+
geom_errorbar(data = SpookySumReport2, aes(x = Thingies, y = mean.cm, ymin=mean.cm-SE.cm,ymax=mean.cm+SE.cm, colour=Thingies),
color = 'black', width = 0.2, position = position_dodge(width = 0.9)) +
scale_fill_manual(values=SpookyPalette) +
facet_grid(~ Whereabouts,
scales = "free_x",
space = "free_x",
switch = "x")+
theme(panel.spacing = unit(0, units = "cm"),
strip.placement = "outside",
strip.background = element_rect(fill = "white")) +
theme(legend.position="none") +
labs(y="Total spook (spook-o-meters)", x=NULL) + ggtitle("Effect of losing my mind over this") +
theme(plot.title = element_text(hjust = 0.5)) +
theme(axis.line = element_line(colour = "black"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank()) +
theme(text = element_text(size = 15))
SpookyReport2
因此,我在这个网站上到处寻找建议,并决定走贴标机路线。我以为这会让我去掉“死”的标签,但它却在它的位置上产生了一个更烦人的“NA”。
where.labs <- c("Dead", "Halfdead", "Alive")
names(where.labs) <- c("", "Halfdead" , "Alive")
SpookyReport2 <- HalloweenData %>% mutate(Whereabouts = fct_relevel(Whereabouts, c("Dead", "Halfdead", "Alive"))) %>%
ggplot(HalloweenData, mapping = aes(x=Thingies, y=TotalSpook, fill= Thingies)) +
geom_bar(stat='summary') +
geom_beeswarm(aes(x = Thingies, y = TotalSpook), dodge.width = 0.9, alpha = 0.5)+
geom_errorbar(data = SpookySumReport2, aes(x = Thingies, y = mean.cm, ymin=mean.cm-SE.cm,ymax=mean.cm+SE.cm, colour=Thingies),
color = 'black', width = 0.2, position = position_dodge(width = 0.9)) +
scale_fill_manual(values=SpookyPalette) +
facet_grid(~ Whereabouts,
scales = "free_x",
space = "free_x",
switch = "x",
labeller = labeller(Whereabouts = where.labs))+
theme(panel.spacing = unit(0, units = "cm"),
strip.placement = "outside",
strip.background = element_rect(fill = "white")) +
theme(legend.position="none") +
labs(y="Total spook (spook-o-meters)", x=NULL) + ggtitle("Effect of losing my mind over this") +
theme(plot.title = element_text(hjust = 0.5)) +
theme(axis.line = element_line(colour = "black"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank()) +
theme(text = element_text(size = 15))
SpookyReport2
有人对这个问题有解决方案吗?先谢谢你!
答:
0赞
Till
10/28/2023
#1
您可以创建其中“Dead”的替代版本
替换为空字符串。Whereabouts
""
这里有一个最小的例子来演示这个想法
library(tidyverse)
df <- tibble(
a = sample(letters, 200, replace = TRUE),
b = sample(LETTERS[1:5], 200, replace = TRUE)
)
df <-
df |>
mutate(b2 = ifelse(b == "C", "", b))
ggplot(df, aes(a)) +
geom_bar() +
facet_grid( ~ b2)
用于进行更改的数据代码如下所示:
HalloweenData <-
HalloweenData |>
mutate(Whereabouts2 = ifelse(Whereabouts == "Dead", "", Whereabouts))
评论
0赞
Crunchysoups
10/28/2023
谢谢你的例子!不幸的是,我有点代码愚蠢。你能提供这个例子,但在我的数据中使用变量吗?例如,这是你的意思吗?但是,我不确定在您的示例中哪些变量会替换 b 和 C。HalloweenData <- HalloweenData |> mutate(Whereabouts = ifelse(b == “C”, “”, b))
0赞
Till
10/28/2023
我添加了一个应该适用于您的环境的示例。
评论
levels()