There is still issues with the reversed y-log scale plot: # Test case A: works as expected plot(10:100,log="y",ylim=c(100,11)) grid() par("yaxp") # Test case B: grid does not have horizontal lines; par("yaxp") is different plot(1:100,log="y",ylim=c(100,10)) grid() par("yaxp") In the second test case, axTicks for the horizontal lines (in grid()) returns numeric(0) for spacing ... how do the tick marks get drawn in the first place?? -mt --please do not edit the information below-- Version: platform = powerpc-apple-darwin8.1.0 arch = powerpc os = darwin8.1.0 system = powerpc, darwin8.1.0 status = Patched major = 2 minor = 1.1 year = 2005 month = 06 day = 26 language = R Locale: en_CA.UTF-8/en_CA.UTF-8/en_CA.UTF-8/C/en_CA.UTF-8/en_CA.UTF-8 Search Path: .GlobalEnv, package:methods, package:stats, package:graphics, package:grDevices, package:utils, package:datasets, Autoloads, package:base
mwtoews at sfu.ca wrote:> There is still issues with the reversed y-log scale plot: > > # Test case A: works as expected > plot(10:100,log="y",ylim=c(100,11)) > grid() > par("yaxp") > > # Test case B: grid does not have horizontal lines; par("yaxp") is > different > plot(1:100,log="y",ylim=c(100,10)) > grid() > par("yaxp") > > In the second test case, axTicks for the horizontal lines (in grid()) > returns numeric(0) for spacing ... how do the tick marks get drawn in > the first place??We had a problem with reversed log axis in R-2.1.0. There might be similar underlying code for grid() I was not aware of when suggesting a fix to make reversed log axis work for R-2.1.1 ... I'll take a closer look later this week. Uwe Ligges> -mt > > --please do not edit the information below-- > > Version: > platform = powerpc-apple-darwin8.1.0 > arch = powerpc > os = darwin8.1.0 > system = powerpc, darwin8.1.0 > status = Patched > major = 2 > minor = 1.1 > year = 2005 > month = 06 > day = 26 > language = R > > Locale: > en_CA.UTF-8/en_CA.UTF-8/en_CA.UTF-8/C/en_CA.UTF-8/en_CA.UTF-8 > > Search Path: > .GlobalEnv, package:methods, package:stats, package:graphics, > package:grDevices, package:utils, package:datasets, Autoloads, > package:base > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel
ligges@statistik.uni-dortmund.de
2005-Jul-08 11:47 UTC
[Rd] axTicks on a reverse ylog plot (PR#7973)
Here we go: the quick fix is really easy, just sorting stuff in axTicks() (.../src/library/graphics/R/axis.R, diff'ed against R-release) is sufficient: --- axis.R +++ axis-fix.R @@ -29,7 +29,8 @@ stop("invalid positive 'axp[3]'") if(is.null(usr)) usr <- par("usr")[if(is.x) 1:2 else 3:4] else if(!is.numeric(usr) || length(usr) != 2) stop("invalid 'usr'") - ii <- round(log10(axp[1:2])) + ii <- round(log10(sort(axp[1:2]))) + usr <- sort(usr) x10 <- 10^((ii[1] - (iC >= 2)):ii[2]) r <- switch(iC, ## axp[3] x10, ## 1 BTW: In your R code below, you have to use (as documented) grid(equilogs = FALSE) We might want to consider to change axTicks anyway: We could return values from the internal axis() calculations and therefore replace axTicks calculations by stuff that is much more reliable. Opinions? The current equilogs default argument setting is inconvinient anyway, because it does not fit with the current device setting for real axis ticks (which can also be done in R, of course). Uwe Ligges mwtoews at sfu.ca wrote:> There is still issues with the reversed y-log scale plot: > > # Test case A: works as expected > plot(10:100,log="y",ylim=c(100,11)) > grid() > par("yaxp") > > # Test case B: grid does not have horizontal lines; par("yaxp") is > different > plot(1:100,log="y",ylim=c(100,10)) > grid() > par("yaxp") > > In the second test case, axTicks for the horizontal lines (in grid()) > returns numeric(0) for spacing ... how do the tick marks get drawn in > the first place?? > -mt > > --please do not edit the information below-- > > Version: > platform = powerpc-apple-darwin8.1.0 > arch = powerpc > os = darwin8.1.0 > system = powerpc, darwin8.1.0 > status = Patched > major = 2 > minor = 1.1 > year = 2005 > month = 06 > day = 26 > language = R > > Locale: > en_CA.UTF-8/en_CA.UTF-8/en_CA.UTF-8/C/en_CA.UTF-8/en_CA.UTF-8 > > Search Path: > .GlobalEnv, package:methods, package:stats, package:graphics, > package:grDevices, package:utils, package:datasets, Autoloads, > package:base > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel