R 使用ggplot2覆盖来自不同数据帧的数据点

R 使用ggplot2覆盖来自不同数据帧的数据点,r,plot,ggplot2,R,Plot,Ggplot2,我有一个密度散点图,我想添加一些数据点和额外的信息。我可以绘制第一个数据帧,但在覆盖第二个数据帧时遇到问题。以下是一个例子: library(ggplot2) a <- runif(20000,min=-20,max=20) b <- runif(20000,min=200,max=600) df1 <- data.frame(a=a , b=b ,c =densCols(a, b, colramp = colorRampPalette(rev(rainbow(20000,

我有一个密度散点图,我想添加一些数据点和额外的信息。我可以绘制
第一个数据帧
,但在覆盖
第二个数据帧时遇到问题。以下是一个例子:

library(ggplot2)

a <- runif(20000,min=-20,max=20)
b <-  runif(20000,min=200,max=600)
df1 <- data.frame(a=a , b=b ,c =densCols(a, b, colramp = colorRampPalette(rev(rainbow(20000, end = 4/6)))))
df2 <- data.frame(a= runif(50,min=-20,max=20), b= runif(50,min=200,max=600), d=runif(50,min=-1,max=1))

ggplot(df1) +
geom_point(aes(a, b, col = c), size = 1) + scale_color_identity() + 
geom_point(data=df2,aes(a, b,col = d, size=d)) +
scale_color_gradient2(limits=c(-1, 1), low="red" , high="blue", space = "Lab")
库(ggplot2)

a您不能提供两个色标;一个将覆盖另一个。在这种情况下,您可以只做
ggplot(df1)+geom_point(aes(a,b),col=df1$c,size=1)+geom_point(data=df2,aes(a,b,col=d,size=d))+scale_color_gradient2(limits=c(-1,1),low=“red”,high=“blue”,space=“Lab”)
您应该真正看看ggplot的二维密度几何图形,比如
geom-hex
geom\u bin2d
geom\u density2d
。错误消息不是您想要的消息quote@baptiste使用alistaire建议的代码,我不需要错误信息,但我想找到一种平滑颜色的方法。