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
Please learn how to use R's extensive Help capabilities -- It **is** in the "manual" -- and also in the R-help archives. help.search('axis') (obvious keyword, no?) will get you what you want. -- Bert Gunter Genentech Non-Clinical Statistics South San Francisco, CA> -----Original Message----- > From: r-help-bounces at stat.math.ethz.ch > [mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of > michael watson (IAH-C) > Sent: Thursday, February 23, 2006 7:35 AM > To: r-help at stat.math.ethz.ch > Subject: [R] Changing the x-axis labels in plot() > > 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 > > ______________________________________________ > R-help at stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! > http://www.R-project.org/posting-guide.html >
On Thu, 2006-02-23 at 15:35 +0000, michael watson (IAH-C) wrote:> Hi > > Hopefully this one isn't in the manual or I am about to get shot :-SBang ;-)> 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])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.> 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 > MickTry: 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:> 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?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:> Hi > > Hopefully this one isn't in the manual or I am about to get shot :-S*Kapow*... [1]> 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 numeri cal labels, but how do I use the row names instead?axis(1, at=1:12, labels=rownames(d)) [1] Look e.g. at the examples section in plot.default. -- O__ ---- Peter Dalgaard ??ster Farimagsgade 5, Entr.B c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907