Skip to content

Changing the x-axis labels in plot()

4 messages · michael watson (IAH-C), Marc Schwartz (via MN), Duncan Murdoch +1 more

#
Hi

Hopefully this one isn't in the manual or I am about to get shot :-S

One of my colleagues wants a slightly strange graph.  We basically have
a data matrix, and she wants to plot, for each row, the values in the
row as points on the graph.  The following code draws the graph just
fine:

plot(row(d)[,3:9],d[,3:9])

So as there are 12 rows in my matrix, there are 12 columns of points,
which is what she wants.

However, she wants the x-axis labelled with the row names, not with
1,2,3,4,5 etc

I can figure out from reading par() how to turn off the default drawing
of the numerical labels, but how do I use the row names instead?

Thanks
Mick
#
On Thu, 2006-02-23 at 15:35 +0000, michael watson (IAH-C) wrote:
Bang  ;-)
If I am understanding correctly what you want, you could alternatively
use:

  boxplot(as.data.frame(t(d[, 3:9])))

which provides a somewhat different approach to visualizing the data.
There are other methods as well of course.
Try:

  plot(row(d)[,3:9], d[,3:9], xaxt = "n")


You can then use the axis() function to specify the labels and tick mark
positions that you want. See ?axis for more information.

In ?par, see 'xaxt' and 'yaxt', which are also referred to in the
description of the 'axes' argument in ?plot.default.

HTH,

Marc Schwartz
#
On 2/23/2006 10:35 AM, michael watson (IAH-C) wrote:
Use the axis() function.  The x-axis is side=1; labels can be a 
character vector containing anything you like.

Duncan Murdoch
#
"michael watson (IAH-C)" <michael.watson at bbsrc.ac.uk> writes:
*Kapow*... [1]
axis(1, at=1:12, labels=rownames(d))


[1] Look e.g. at the examples section in plot.default.