kinplot <- function(kinobject, xlab = "Time [days]", ylab = "Parent [% of applied radioactivity]", ylim = c("auto", "auto"), lpos = "topright") { kindata <- na.omit(kinobject$data) kinfits <- kinobject$fits if (ylim[1] == "auto") ylim[1] <- 0 if (ylim[2] == "auto") ylim[2] <- max(kindata$parent) ylim <- as.numeric(ylim) plot(kindata$t, kindata$parent, xlab = xlab, ylab = ylab, ylim = ylim ) n.m <- length(kinfits) colors <- ltys <- 1:n.m names(colors) <- names(ltys) <- names(kinfits) ltext <- paste(kinobject$parent, "measured") for (kinmodel in names(kinfits)) { m = kinfits[[kinmodel]] if(class(m) == "nls") { switch(kinmodel, SFO = curve(SFO(x, coef(m)[["parent.0"]], coef(m)[["k"]]), from = min(kindata$t), to = max(kindata$t), add=TRUE, col = colors[[kinmodel]], lty = ltys[[kinmodel]]), FOMC = curve(FOMC(x, coef(m)[["parent.0"]], coef(m)[["alpha"]], coef(m)[["beta"]]), from = min(kindata$t), to = max(kindata$t), add=TRUE, col = colors[[kinmodel]], lty = ltys[[kinmodel]]), HS = curve(HS(x, coef(m)[["parent.0"]], coef(m)[["k1"]], coef(m)[["k2"]], coef(m)[["tb"]]), from = min(kindata$t), to = max(kindata$t), add=TRUE, col = colors[[kinmodel]], lty = ltys[[kinmodel]]), DFOP = curve(DFOP(x, coef(m)[["parent.0"]], coef(m)[["k1"]], coef(m)[["k2"]], coef(m)[["g"]]), from = min(kindata$t), to = max(kindata$t), add=TRUE, col = colors[[kinmodel]], lty = ltys[[kinmodel]])) ltext <- c(ltext, paste("Fitted", kinmodel, "model")) } else { ltext <- c(ltext, paste(kinmodel, "model failed")) ltys[[kinmodel]] <- NA } } legend(lpos, bty="n", inset = 0.05, legend = ltext, pch = c(1, rep(NA, n.m)), lty = c(NA, ltys), col = c(1, colors)) }