Hi Maxim,
I notice no one has replied to you (on list at least) so I'll take a stab at
answering your question and giving some productive advice.
I believe the axis command will do what you want with a little tweaking: It
certainly lines things up for me.
x <-
data.frame(cell=paste("line",c("a","a","b","b")),treat
paste("treat",c(1,2,1,2)),value=c(4,3,8,11)) # Next time please
provide data
that can be directly entered
plot(x$value,xaxt = "n")
axis(1,at=1:4,label=paste(as.character(x$cell),"\n",as.character(x$treat),sep=""))
That said, I'd recommend against it. This sort of data with a
bivariate+categorical x-axis really isn't best viewed in this manner: in
fact, it's not really well-viewed in this manner as well.
Rather, I'd strongly suggest that you use some sort of conditional plotting:
either R's built in coplot() function or (even better) the ggplot2 or
lattice libraries. These two packages are truly outstanding and are both
well-documented on the web, but for just a silly little taste, try this
library(lattice)
x <- data.frame(x1 = sample(1:6,25,replace=T),x2 = sample(1:6,25,replace=T))
x <- data.frame(x, y = x$x1 + x$x2+runif(25)*3)
with(x, xyplot(y~x1|x2))
# Compare to this plot where no information can be gleaned
plot(x$y,xaxt="n")
axis(1,at=1:25,label=paste(x$x1,"\n",x$x2,sep=""))
Hopefully this shows you how the idea of conditioning on an independent
variable can yield a more easily interpreted graph. There's many great
examples of these two packages and I'd highly recommend them for this sort
of plot.
Hope this helps,
Michael Weylandt
On Tue, Aug 9, 2011 at 4:48 PM, Maxim <deeepersound@googlemail.com> wrote:
> Hi,
>
> please excuse the most likely very trivial question, but I'm having no
idea
> where to find related information:
> I try to recapitulate very simple plotting behavior of Excel within R but
> have no clue how to get where I want.
>
> I have tab delimited data like
>
> cell treatment value
> line a treat1 4
> line a treat2 3
> line b treat1 8
> line b treat2 11
>
>
> I'd like to have a plot (barplot), that specifies 2 scales on the
x-axis
> (cell and treatment condition). In future this might become more complex,
> so
> basically I'd like to have a table/matrix as x-axis! Where do I have to
> look
> for working examples, I really spent a lot of time studying graph
> galleries?
>
> Wanted: the same look that you get when marking above data within Excel and
> selecting "barplot"! I have no clue how my search-term should
look like in
> order to find the necessary information.
>
> The only thing I can get to work is to generate a "second X-axis"
at
> position 3:
> read.delim(file='test')->x
> plot(x$value,xaxt="n")
> axis(3,1:4,x$treatment)
> axis(1,1:4,x$cell)
>
> Not nice, but ok!
>
> Unfortunately this does not work with barplot as the axis does not align
> with the bars!
> plot(x$value,xaxt="n",beside=T)
>
> Any help is appreciated!
> Regards
> Maxim
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@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.
>
[[alternative HTML version deleted]]