我有一个数据集(来自R):
head(anscombe)
x1 x2 x3 x4 y1 y2 y3 y4
1 10 10 10 8 8.04 9.14 7.46 6.58
2 8 8 8 8 6.95 8.14 6.77 5.76
现在我想使用(x1,y1)
在网格中绘制(x2,y2)
,(x3,y3
,(x4, y4)
)和ggplot2
的散点图。每个子图也应分别具有标题“1”,“2”,“3”,“4”。它应该与我们使用par(mfrow=c(2,2))
时的情况类似。我查看了facet_wrap
文档,但示例似乎并未涉及这个简单的案例。我怎样才能在ggplot2中实现它?
答案 0 :(得分:1)
答案 1 :(得分:1)
如果可以接受对1-4号数据集进行硬编码,那么这就是一种方法:
library(dplyr)
library(ggplot2)
data(anscombe)
list(
transmute(anscombe, x=x1, y=y1, dataset=1),
transmute(anscombe, x=x2, y=y2, dataset=2),
transmute(anscombe, x=x3, y=y3, dataset=3),
transmute(anscombe, x=x4, y=y4, dataset=4)
) %>%
bind_rows() %>%
ggplot(aes(x, y)) +
geom_point() +
facet_wrap(~ dataset)
主要的是你需要一个变量中的所有x坐标值(x1到x4),以及另一个变量中的所有y坐标(y1到y4)。
答案 2 :(得分:1)