[R] image function help required
Sarah Goslee
sarah.goslee at gmail.com
Fri Sep 23 19:13:29 CEST 2011
Hi,
image() resizes the range of the data to roughly 0-1 , as you can see with
par()$usr
so what you need is:
axis(1, 1:5/5, colnames(x))
or something similar.
the c() c(colnames(x)) is unnecessary, since colnames(x) already returns a
character vector, but in the example you provided (thanks!), x doesn't have
any colnames any way.
Sarah
On Fri, Sep 23, 2011 at 1:03 PM, Maxim <deeepersound at googlemail.com> wrote:
> Hi,
>
>
> I have a question concerning the image function and how to generate custom
> axis labels:
>
>
>
> dat<-sample(0:1,1000,replace=T)
>
> matrix(dat,ncol=5,nrow=200)->x
>
> x[order(x[,1],x[,2],x[,3],x[,4],x[,5]),]->x
>
>
> I would like to have a heatmap kind of thing like this:
>
>
>
> image(t(x),col=c(0,1),axes=F)
>
> axis(1, 1:5, c(colnames(x)))
>
>
> I only do see parts of the axis (only an "A" is drawn, position is wrong in
> addition), what is wrong?
>
>
> For a normal xy-plot this type of axis-definition obviously works
>
>
> plot(1:5, rnorm(5), axes = FALSE)
>
> axis(1, 1:5, c(colnames(x)))
>
>
>
> What do I miss?
>
--
Sarah Goslee
http://www.functionaldiversity.org
More information about the R-help
mailing list