如何解决将ggplot中的facet_wrap应用于列中的某些值
我写了一个代码:
ggplot(mpg,aes(displ,hwy)) +
geom_point() +
facet_wrap(~drv)
如您所见,这是三个方面,因为列“ dev”中存在三种类型的值。现在,我想获得相同的图,但仅使用类型“ f”和“ r”。因此,它必须看起来完全像上面的一个,但没有第一个小面“ 4”。我该怎么办?我试过了,但是没用:
ggplot(mpg,hwy)) +
geom_point() +
facet_wrap(~drv==c("f","r"))
这是它的输出,这完全不是我想要的:
解决方法
执行此操作的方法是先过滤或子集数据。您可以在绘制过滤后的数据并将其分配给新对象之前进行此操作,也可以在对ggplot()
的调用中进行此操作,也可以使用dplyr
中的管道运算符。
子设置
# saving as a new object
mpg_subset <- mpg[which(mpg$drv %in% c("r","f")),]
# within ggplot
ggplot(data = mpg[which(mpg$drv %in% c("r",],aes(displ,hwy) + ...
# using a pipe
Library(dplyr)
mpg[which(mpg$drv %in% c("r",] %>%
ggplot(aes(displ,hwy) + ...
使用dplyr进行过滤
# saving as a new object
Library(dplyr)
mpg_subset <- filter(mpg,drv %in% c("r","f"))
# within ggplot
Library(dplyr)
ggplot(data = filter(mpg,hwy) + ...
# using a pipe
Library(dplyr)
mpg %>%
filter(drv %in% c("r","f")) %>%
ggplot(aes(displ,hwy) + ...
# using a pipe in ggplot call
Library(dplyr)
ggplot(data = mpg %>% filter(drv %in% c("r",hwy) + ...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。