[R] log error for use on axis

Marc Schwartz marc_schwartz at me.com
Fri Jul 17 21:15:59 CEST 2009


On Jul 17, 2009, at 11:27 AM, NDC/jshipman wrote:

> Hi,
> 	I am new to R plot.  I am trying to scale my y axis in log.  When I  
> do this I receive the following error
>
> Error in axis(side = side, at = at, labels = labels, ...) :
>  CreateAtVector [log-axis()]: axp[0] = 0 < 0!
> In addition: Warning messages:
> 1: In plot.window(...) :
>  nonfinite axis limits [GScale(-inf,1.31772,2, .); log=1]
> 2: In axis(side = side, at = at, labels = labels, ...) :
>  CreateAtVector "log"(from axis()): axp[0] = 0 !
>
>
> My code is as follows:
>
> foundOr <- read.table("yahoos_f.txt", sep="," , header=T)
> if (max(foundOr$s_) >= max(notFoundOr$s_)) maxY = log(max(foundOr 
> $s_)) else maxY = log(max(notFoundOr$s_))
> jpeg('clusterYS_.jpg', quality = 100, bg = "white", res = 200, width  
> = 2000, height = 2000 )
> plot(foundOr$uid, foundOr$s_, xlab="uid", ylab="Log Search  
> Results",  main="uid vs Search", pch=20, col="blue", log = "y",  
> xlim=c(0,300), ylim=c(0,maxY))
> dev.off()
>
> If I remove the log = "y" everything works fine.  Am I using the log  
> call incorrectly?  Any help would be appreciated.

You are trying to set the minimum value of the y axis to 0 and:

 > log10(0)
[1] -Inf

Note that when log scaled axes are used, they are common logs (base  
10), not natural logs (base e).

Since the y axis is already log10 transformed internally, you don't  
need to set the maximum value of the y axis to log10(max(foundOr$s_)).  
Just use max(foundOr$s_)...

HTH,

Marc Schwartz




More information about the R-help mailing list