**[R] tricks**, and kindly contributed to R-bloggers)

A quick workaround to have a filled.contour plot with natural log10-log10 scale (instead of the default natural log scale)

plotmat <- function(mat,main='',factor='M',MeasuredResponse='Coexistence')

{

X <- as.numeric(rownames(mat))

Y <- as.numeric(colnames(mat))

if(factor=='C')

{

Y <- Y/0.16

}

rownames(mat) <- as.numeric(X)

colnames(mat) <- as.numeric(Y)

colorFun <- colorRampPalette(c("black","darkblue","blue","green",

"orange",'yellow',"red","darkred",'white'))

`lX <- log(X, 10)`

lY <- log(Y, 10)

`pretty.X.at <- pretty(range(lX),n=6)`

pretty.X.lab <- round(10^pretty.X.at,0)

pretty.Y.at <- pretty(lY,n=4)

pretty.Y.lab <- round(10^pretty.Y.at,2) pretty.Y.lab[pretty.Y.lab>1] <- round(pretty.Y.lab[pretty.Y.lab>1],0)

pretty.Y.lab[(pretty.Y.lab>0.1)&(pretty.Y.lab<1)] <- round(pretty.Y.lab[(pretty.Y.lab>0.1)&(pretty.Y.lab<1)],1)

```
```

` filled.contour(lX,lY,mat,`

axes=FALSE,

frame.plot=TRUE,

color=colorFun,

ylab= MeasuredResponse,

xlab='Time between perturbation events',

main=main,

key.title=title(main=""),

key.axes=axis(4,at=pretty(vmat)),

plot.axes={ axis(1,at=pretty.X.at,labels=pretty.X.lab)

axis(2,at=pretty.Y.at,labels=pretty.Y.lab) })

}

**leave a comment**for the author, please follow the link and comment on his blog:

**[R] tricks**.

R-bloggers.com offers

**daily e-mail updates**about R news and tutorials on topics such as: visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...