Как продлить geom_line для продолжения?Могу ли я изменить функцию предсказания ()? - PullRequest
0 голосов
/ 15 февраля 2019

Мне было интересно, может ли кто-нибудь помочь.

Я хотел бы знать, как я могу продолжить свою линию geom_line до границ графика, которые были бы предсказаниями данных, если бы у меня был больший диапазон данных.В этом случае они будут попадать на ось х в любом конце моего температурного диапазона.

В настоящее время это выглядит так ..

1]

Но я быпредпочитаю, чтобы линии продолжали выглядеть так: ..

[2]

Код:

library(ggplot2)
library(quantreg)
edata<-subset(data, Treatment== "eCO2")

graph <- ggplot(data = data, aes(x = Tleaf, y = A, shape = Treatment, fill = Treatment)) + 
   geom_point(size = 2) + 
   scale_x_continuous (expand=c(0,0), limits = c(0,50)) + 
   scale_y_continuous(expand = c(0, 0), limits = c(0,25))  +
   scale_fill_manual(values = c("orchid3", "limegreen")) 

   assign("Tmax", 40)

tempresponse <- function(Pmax, Topt, Tleaf) {A <- (Pmax/(Topt*(Topt-(((Topt*(5*Topt-4*Tmax)))/(3*Topt-2*Tmax)))* ((Tmax-Topt)^(1/2))))* Tleaf*(Tleaf-(((Topt*(5*Topt-4*Tmax)))/(3*Topt-2*Tmax)))*((Tmax-Tleaf)^0.5) return(A)}

qr2 <- nlrq(A ~ tempresponse2(Pmax, Topt, Tleaf), data=edata, start = list(Pmax=24.00, Topt=25.00), tau = 0.98)
summary(qr2)
edata$predict2<-predict(qr2)
graph + geom_line(data = edata, aes(x=Tleaf, y=predict2)) + labs(title=" L",x="Tleaf ()",y="A (umol m² s¹)") + theme_classic() + scale_shape_manual(values=c(21,24)) + theme( axis.text.x =element_text(colour="black"), axis.text.y=element_text(colour="black"))


graph + 
  geom_line(data = edata, aes(x = Tleaf, y = predict2)) + 
  theme_classic() + 
  scale_shape_manual(values = c(21,24)) + 
  theme(axis.text.x = element_text(colour="black"), 
        axis.text.y = element_text(colour="black"))

Данные

structure(list(A = c(8.848278243, 5.86961631, 9.290489353, 13.27210774,9.878975458, 14.54323241, 12.3697962, 13.72907099, 13.598602,13.44726833), 
               Tleaf = c(38.28246349, 37.8364037, 36.45071429,36.31794167, 35.63362381, 35.36071497, 33.57372619, 33.32696032,32.99069683, 32.98076786)),
          row.names = c(NA, -10L), class = c("tbl_df", "tbl", "data.frame"))

Я могу добавить больше данных, если это необходимо.

Любая помощь с благодарностью!:)

...