lanczos at fns.uniba.sk
2009-Jul-25 23:10 UTC
[R] yaxp problem for more irregular time series in one plot
Good day, I'm trying to get more time series in one plot. As there are bigger differences in values of variables I need logaritmic y axis. The code I use is the following: nvz_3_data <- read.csv('/home/tomas/R_outputs/nvz_3.csv') date <- (nvz_3_data$date) NO3 <- (nvz_3_data$NO3) NH4 <- (nvz_3_data$NH4) date_p <- as.POSIXct(date, "CET") par(mfrow=c(2,1), ylog = TRUE, yaxp = c(0.01, 100, 3)) plot(date_p, NO3, log = "y", type = "l", col = "darkred", main = "NVZ-1", xlab = "time", ylab = "NO3-" ) lines(date_p, NH4, col = "darkblue", lty = "dotted") plot(date_p, NH4, log = "y", type = "l", col = "darkblue", main = "NVZ-1", xlab = "time", ylab = "NH4+" ) So, as I anderstood, extreme (max and min) values on the y axis are conntrolled byt the yaxp, but it is ignored on the plot, and the NH4 values are out of the plot (see the attached picture). Do somebody know what I am doing wrong? Many thanks in advance Tomas -------------- next part -------------- A non-text attachment was scrubbed... Name: Rplot001.png Type: image/png Size: 15261 bytes Desc: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20090726/9407c83c/attachment-0002.png>
Poersching
2009-Jul-26 05:36 UTC
[R] yaxp problem for more irregular time series in one plot
lanczos at fns.uniba.sk schrieb:> Good day, > > I'm trying to get more time series in one plot. As there are bigger > differences in values of variables I need logaritmic y axis. > > The code I use is the following: > > nvz_3_data <- read.csv('/home/tomas/R_outputs/nvz_3.csv') > date <- (nvz_3_data$date) > NO3 <- (nvz_3_data$NO3) > NH4 <- (nvz_3_data$NH4) > date_p <- as.POSIXct(date, "CET") > par(mfrow=c(2,1), ylog = TRUE, yaxp = c(0.01, 100, 3)) > plot(date_p, NO3, log = "y", type = "l", col = "darkred", main = "NVZ-1", > xlab = "time", ylab = "NO3-" ) > lines(date_p, NH4, col = "darkblue", lty = "dotted") > plot(date_p, NH4, log = "y", type = "l", col = "darkblue", main = "NVZ-1", > xlab = "time", ylab = "NH4+" ) > > So, as I anderstood, extreme (max and min) values on the y axis are > conntrolled byt the yaxp, but it is ignored on the plot, and the NH4 > values are out of the plot (see the attached picture). Do somebody know > what I am doing wrong? > > Many thanks in advance > > Tomas > > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------ > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >Hey Thomas, the yaxp command isn't ignored. The problem is the boundary of your y-data. Your plot is adjusted to the NO3 data and because the higher values of your NH4 you won't be able to see it on the plot. A solution lies in implementing the ylim command in your plot. Here is your changed code: nvz_3_data <- read.csv('/home/tomas/R_outputs/nvz_3.csv') date <- (nvz_3_data$date) NO3 <- (nvz_3_data$NO3) NH4 <- (nvz_3_data$NH4) maxy<-max(NO3,NH4) ## the maximum value of your data miny<-min(NO3[NO3>0],NH4[NH4>0]) ## the minimum value of your data which are > 0 (because: log) date_p <- as.POSIXct(date, "CET") par(mfrow=c(2,1), ylog = TRUE, yaxp = c(0.01, 100, 3)) plot(date_p, NO3,log = "y", ylim=c(miny,maxy), type = "l", col = "darkred", main = "NVZ-1", xlab = "time", ylab = "NO3-" ) lines(date_p, NH4, col = "darkblue", lty = "dotted") plot(date_p, NH4, log = "y", type = "l", col = "darkblue", main = "NVZ-1", xlab = "time", ylab = "NH4+" ) I hope, I was able to help you. Regards, Christian -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 259 bytes Desc: OpenPGP digital signature URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20090726/1c0d2bb4/attachment-0002.bin>