我有一个多个数据帧,每个数据帧都有一个x和y列。 所有数据帧的x值都相同,但y值不同。
I wish plot on a single graph the y values for all dataframes,
corresponding to each x value.
我尝试过使用绘图功能,它似乎没有提供这样的功能。
请帮帮我。 提前谢谢!
答案 0 :(得分:2)
使用Roland的数据:
set.seed(42)
DF1 <- data.frame(x=1:5, y=rnorm(5))
DF2 <- data.frame(x=1:5, y=rnorm(5))
DF3 <- data.frame(x=1:5, y=rnorm(5))
尝试:
ggplot()+
geom_point(data=DF1, aes(x,y), color='red')+
geom_point(data=DF2, aes(x,y), color='blue')+
geom_point(data=DF3, aes(x,y), color='green')
答案 1 :(得分:1)
#some data
set.seed(42)
DF1 <- data.frame(x=1:5, y=rnorm(5))
DF2 <- data.frame(x=1:5, y=rnorm(5))
DF3 <- data.frame(x=1:5, y=rnorm(5))
#merge the data
dat <- Reduce(function(X, Y) merge(X, Y, by="x"), list(DF1, DF2, DF3))
#make it a matrix
mat <- as.matrix(dat)
#plot
matplot(mat, pch=1)
答案 2 :(得分:1)
使用Roland的一个简单的plot
+ points
方法:
#some data
set.seed(42)
DF1 <- data.frame(x=1:5, y=rnorm(5))
DF2 <- data.frame(x=1:5, y=rnorm(5))
DF3 <- data.frame(x=1:5, y=rnorm(5))
制作第一张图:
# Finding the y limits
max.y = max(DF1$y,DF2$y,DF3$y)
min.y = min(DF1$y,DF2$y,DF3$y)
plot(x = DF1$x, y = DF1$y,pch = 19,xlab = "X", ylab = "Y",ylim = c(min.y,max.y)
添加其他要点:
points(x = DF2$x, y = DF2$y,col = "blue",pch = 19)
points(x = DF3$x, y = DF3$y,col = "red",pch = 19)