在GGR绘图中绘制多个数据系列
我试着(在同一张图上)绘制两组数据和来自两个不同数据帧的日期。两个数据帧对于两次测量中的每一次都具有相同的精确日期。我想用不同的颜色将这两组数据绘制在同一个图表上。然而,我根本不能把它们放在同一张图上。R已将日期读取为日期。我试过这个:在GGR绘图中绘制多个数据系列,r,plot,ggplot2,overlays,R,Plot,Ggplot2,Overlays,我试着(在同一张图上)绘制两组数据和来自两个不同数据帧的日期。两个数据帧对于两次测量中的每一次都具有相同的精确日期。我想用不同的颜色将这两组数据绘制在同一个图表上。然而,我根本不能把它们放在同一张图上。R已将日期读取为日期。我试过这个: qplot( date , NO3, data=qual.arn) + qplot( qual.arn$date , qual.arn$DIS.O2, "O2(aq)" , add=T) 并收到了这个错误 Error in add_ggplot(e1, e2
qplot( date , NO3, data=qual.arn)
+ qplot( qual.arn$date , qual.arn$DIS.O2, "O2(aq)" , add=T)
并收到了这个错误
Error in add_ggplot(e1, e2, e2name) :
argument "e2" is missing, with no default
我尝试使用ggplot函数而不是qplot,但我甚至不能用这种方式绘制一个图形
ggplot(date=qual.no3.s, aes(date,NO3))
Error: ggplot2 doesn't know how to deal with data of class uneval
请帮忙。谢谢大家! 由于您没有提供任何数据(请以后再提供),这里是一个制作的数据集,用于演示解决方案。有(至少)两种方法可以做到这一点:正确的方法和错误的方法。在这个非常简单的情况下,这两种方法都产生了等效的结果
# set up minimum reproducible example
set.seed(1) # for reproducible example
dates <- seq(as.Date("2015-01-01"),as.Date("2015-06-01"), by=1)
df1 <- data.frame(date=dates, NO3=rpois(length(dates),25))
df2 <- data.frame(date=dates, DIS.O2=rnorm(length(dates),50,10))
执行此操作的“错误”方法是为每个层分别调用geom_point(…)
。在您的特定情况下,这可能更简单,但从长远来看,最好使用另一种方法
# The wrong way: plot two sets of points
ggplot() +
geom_point(data=df1, aes(x=date, y=NO3, color="NO2")) +
geom_point(data=df2, aes(x=date, y=DIS.O2, color="DIS.O2")) +
scale_color_manual(name="Component",values=c("red", "blue")) +
labs(x=NULL, y="Concentration")
您能给我们一些您正在使用的示例数据吗。要绘制数据中哪些变量的线图?需要通过在
ggplot2
中添加图层来实现,其中每个图层都有不同的数据集。但您似乎在使用基本的ggplot()
语法时遇到了问题。在移动到多个图层之前,请确保可以通过ggplot()
构建基本绘图欢迎使用SO。您确实需要提供您的数据,或者更好的是提供一个具有代表性的样本,以便我们能够重现您的问题。阅读
# The wrong way: plot two sets of points
ggplot() +
geom_point(data=df1, aes(x=date, y=NO3, color="NO2")) +
geom_point(data=df2, aes(x=date, y=DIS.O2, color="DIS.O2")) +
scale_color_manual(name="Component",values=c("red", "blue")) +
labs(x=NULL, y="Concentration")