Hi
Mulholland, Tom wrote: > This raises the question of "best practice." My answer was predicated > on the fact that Jin Li had been attempting to use grid.circle in the > first place without success. I rashly made the assumption that there > was already a move to try and use some of the more sophisticated > techniques within R. > > This is a good example of the comments in the "hidden costs" thread, > where the pathways to learning R came under some scrutiny. It is also > similar to the "[R] How to insert one element into a vector?" where > it is noted that append can be used to insert the element. That is > the function appears to be originally written for one purpose, but it > is evident that it has a broader application that is not immediately > recognizable from the function name. When you are new to R it can > seem confusing that you use rect for rectangles but symbols for > circles, or segments for lines and lines for not lines, but they > really are lines. > > I am not yet proficient enough to always know which is the best > approach. That's even with defining best as quickest, most easily > maintained or most readable etc etc. > > Now to the point. I have formed a collection of graphics that I have > prepared over the last two years which I use to remind myself of the > little idiosyncrasies of the various techniques. These of course have > evolved as I have. They mostly use data that I cannot make available. > I thought it might be a good idea to produce reproducible code that > shows the bewildering variety ways to skin the proverbial animal. > That is to produce code that can create a PDF flipbook of plots. One > of the first things that I do when I load a package, is to run the > examples that produce graphical output. I tend to work backwards and > understand processes better when I know what the final output looks > like. I am mathematically challenged, but can often appreciate what > is happening once I see the plot. Ideally the code would include all > the bells and whistles. I say this because I have spent hours trying > to figure out just exactly what something is supposed to do before > finally figuring out that it was really much simpler than I had > thought. The bells and whistles should also show how you sometimes > have to use par outside of the function (or remember that the ... is > there for a reason) to get the effect that you want. For example when > I load the vcd package to do mosaicplots I think I have to use > par(xpd = TRUE) to get my multi-line labels not to be clipped. > > As an evolving beast I see this as a way of demonstrating the > techniques that are generally regarded as being "best practice" in a > comprehensive manner. > > In short I am volunteering. What for? I am not quite sure, but it > includes example plots using data that helps in clarifying how the > plot should be used. The last point means that I am not capable of > producing some plots (and the examples in some packages already do > this well) as I have no idea what they mean even when I have plotted > the example.
What this sounds like to me is an "R graphics cookbook", which I think would be a good idea, though have you looked at, for example, the "Graphiques avec R" section of Vincent Zoonekynd's "Statistiques avec R"
(http://zoonek2.free.fr/UNIX/48_R/all.html)
or the "Graphing" section of Paul Johnson's "R tips" page (http://www.ku.edu/~pauljohn/R/Rtips.html)?
Paul
> -----Original Message----- From: Paul Murrell > [mailto:[EMAIL PROTECTED] Sent: Tuesday, 23 November 2004 > 3:05 AM To: Mulholland, Tom Cc: [EMAIL PROTECTED]; > [EMAIL PROTECTED] Subject: Re: [R] How to correct this > > > Hi > > > Mulholland, Tom wrote: > >> Taking note of the first post, this is what I assume you wish. Note >> Paul's caveat in the help file >> >> "If you resize the device, all bets are off!" >> >> require(gridBase) x<-seq(0,1,0.2) y<-x pred<-matrix(c(0.5, 0.5, >> 0.5, 0.5, 0.5, 0.5, 0.5, 0.7, 0.7, 0.7, 0.7, 0.5, 0.5, 0.7, 0.9, >> 0.9, 0.7, 0.5, 0.5, 0.7, 0.9, 0.9, 0.7, 0.5, 0.5, 0.7, 0.7, 0.7, >> 0.7, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5), 6, 6) image(x, y, pred, >> col = gray(20:100/100), asp='s', axes=F, xlab=" ", ylab="") >> points(0.5, 0.5, col = 5) # the centre of the image > > > > In this case, using grid (or gridBase) is probably overkill. The > symbols() function should do what you want. For example, ... > > symbols(rep(0.5, 4), rep(0.5, 4), circles=1:4, add=TRUE) > > Paul > > > >> vps <- baseViewports() pushViewport(vps$plot) grid.circle(x=0.5, >> y=0.5, r=0.1, draw=TRUE, gp=gpar(col=5)) grid.circle(x=0.5, y=0.5, >> r=0.3, draw=TRUE, gp=gpar(col=5)) grid.circle(x=0.5, y=0.5, r=0.5, >> draw=TRUE, gp=gpar(col=5)) >> >> >> >> -----Original Message----- From: [EMAIL PROTECTED] >> [mailto:[EMAIL PROTECTED] Sent: Monday, 22 November 2004 1:21 PM To: >> [EMAIL PROTECTED] Subject: RE: [R] How to correct this >> >> >> Hi there, >> >> I would like to add a few circles to the following image: >> x<-seq(0,1,0.2) y<-x pred<-matrix(c(0.5, 0.5, 0.5, 0.5, 0.5, 0.5, >> 0.5, 0.7, 0.7, 0.7, 0.7, 0.5, 0.5, 0.7, 0.9, 0.9, 0.7, 0.5, 0.5, >> 0.7, 0.9, 0.9, 0.7, 0.5, 0.5, 0.7, 0.7, 0.7, 0.7, 0.5, 0.5, 0.5, >> 0.5, 0.5, 0.5, 0.5), 6, 6) image(x, y, pred, col = >> gray(20:100/100), asp='s', axes=F, xlab=" ", ylab="") points(0.5, >> 0.5, col = 5) # the centre of the image >> >> The centre of these circles needs to be overlapped with the centre >> of the image. Any helps are greatly appreciated. Regards, Jin >> >> >> -----Original Message----- From: Mulholland, Tom >> [mailto:[EMAIL PROTECTED] Sent: Monday, 22 November >> 2004 12:29 P To: Li, Jin (CSE, Atherton) Subject: RE: [R] How to >> correct this >> >> I think you need to create a complete set of code that can be >> replicated by anyone trying to help. I ran the three grid.circle >> commands on my current plot and it did what I expected it to do. It >> plotted three circles centred in the current viewport. See the >> jpeg. >> >> The last command using points makes me think that you need to >> understand about units and the setting up of viewports. I have not >> played around with this much but I think thr newsletter had an >> article which may be of use (although it uses old code I think the >> differences are minor) >> >> Ciao, Tom >> >> -----Original Message----- From: [EMAIL PROTECTED] >> [mailto:[EMAIL PROTECTED] Sent: Monday, 22 November 2004 10:07 AM >> To: [EMAIL PROTECTED] Subject: [R] How to correct this >> >> >> Hi there, >> >> >> >> I tried to add a few circles on an existing figure using the >> following codes >> >> >> >> grid.circle(x=0.5, y=0.5, r=0.1, draw=TRUE, gp=gpar(col=5)) >> >> grid.circle(x=0.5, y=0.5, r=0.3, draw=TRUE, gp=gpar(col=5)) >> >> grid.circle(x=0.5, y=0.5, r=0.5, draw=TRUE, gp=gpar(col=5)) >> >> points(0.5, 0.5, col = 5) # centre of the circle >> >> >> >> , but all circles moved away from the centre. Could we do any >> corrections to this? Thanks. >> >> >> >> Regards, >> >> >> >> Jin >> >> ========================== >> >> Jin Li, PhD >> >> Climate Impacts Modeller >> >> CSIRO Sustainable Ecosystems >> >> Atherton, QLD 4883 >> >> Australia >> >> Ph: 61 7 4091 8802 >> >> Email: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> >> >> ========================== >> >> >> >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> [EMAIL PROTECTED] mailing list >> https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the >> posting guide! http://www.R-project.org/posting-guide.html >> >> ______________________________________________ >> [EMAIL PROTECTED] mailing list >> https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the >> posting guide! http://www.R-project.org/posting-guide.html >> >> ______________________________________________ >> [EMAIL PROTECTED] mailing list >> https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the >> posting guide! http://www.R-project.org/posting-guide.html > > >
-- Dr Paul Murrell Department of Statistics The University of Auckland Private Bag 92019 Auckland New Zealand 64 9 3737599 x85392 [EMAIL PROTECTED] http://www.stat.auckland.ac.nz/~paul/
______________________________________________ [EMAIL PROTECTED] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html