你想要做的事实上可能是:
ggplot(Dataframe_A) + geom_point(aes(x = y1, y = y2)) + facet_grid(y3 ~ y4)
考虑使用美学来避免有太多的情节。
ggplot(Dataframe_A) + geom_point(aes(x = y1, y = y2, colour = y3)) + facet_wrap(~y4)
可能性是无止境:
ggplot(Dataframe_A) + geom_point(aes(x = y1, y = y2, colour = y3, shape = y4), size = 5)
就像我在上面的评论中所说的那样,如果你需要处理单独的数据帧,那么用数据帧列表来解决这个问题并没有错。想想你的意图。当我需要为不同的组重复相同类型的绘图时,我经常这样做,每个绘图都需要各自独立的输出。当你有理由比较群体时,分面很有意义 小倍数 。
您可以使用跨列表工作的函数来创建绘图。我偏爱了 purrr::map_* 家庭,但基地 apply 家庭也是如此。运用 imap 使您可以访问通过拆分创建的名称,以便您可以轻松识别这些图。
purrr::map_*
apply
imap
library(tidyverse) plot_list <- Dataframe_A_split %>% imap(function(df, name) { ggplot(df, aes(x = y1, y = y2, color = y3)) + geom_point() + labs(title = name) }) plot_list$Yes.A
创建于2019-03-06由 代表包 (v0.2.1)