0

我正在尝试为原始数据点着色,但是当我已经按组定义颜色时,我似乎找不到有关如何执行此操作的信息。

数据:

data = read.csv('TotMaxSize.csv')
structure(list(Column1 = 1:6, yrblock15 = c(2004L, 2004L, 2004L, 
2004L, 2004L, 2004L), circleID = 1:6, ThreeYearRain = c(748.9863518, 
744.4805429, 748.6081666, 747.5941999, 746.3382951, 740.9514718
), time = c(5.270172597, 4.270172617, 3.348596103, 3.019112219, 
2.905252281, 2.773856447), claylake = c(0, 0, 0, 0, 0.01, 0), 
    spinsandplain = c(99.53, 90.39, 50.7, 63.8, 73.65, 82.73), 
    TotMaxSize = c(2058.592458, 936.2305886, 1652.692998, 2162.200459, 
    1062.143104, 1863.051545)), row.names = c(NA, 6L), class = "data.frame")

加载的包:

library(ggplot2);library(lme4);library(ggeffects);library(dplyr) 

模型:

fit <- lmer(TotMaxSize~log(time)+spinsandplain+ThreeYearRain+claylake+ThreeYearRain*log(time)+(1|circleID),na.action=na.fail,data=data,REML=FALSE)

剧情:

mydf <- ggpredict(fit, terms = c("time[exp]","ThreeYearRain[647.6448,1198.882,1934.894]")) 
mydf1 <- rename(mydf, "time" = x, "TotMaxSize" = predicted)


ggplot(mydf1, aes(x = time, y = TotMaxSize, colour = group)) +
  geom_point(data = data, colour = "black")+
  stat_smooth(method = "lm", se = FALSE)+
  scale_colour_manual(values=c("skyblue2","dodgerblue3","darkblue"))+
  xlim(0,10)+ylim(0,7000)+
  xlab("time")+ylab("Max fire size")

它最终看起来像这样:

在此处输入图像描述

有没有办法通过变量“ThreeYearRain”为geom_point(渐变)着色?我不断收到与我读过的其他线程类似的错误:

"Scale for 'colour' is already present. Adding another scale for 'colour', which will replace the existing scale."
4

1 回答 1

0

您已经定义了两次颜色:一次在 aes() 中,一次在 geom_point() 中。

于 2021-03-30T06:42:25.497 回答