>>>>> "DE" == David Epstein <[EMAIL PROTECTED]> >>>>> on Sun, 20 Jul 2008 15:40:34 +0100 writes:
DE> What I don't like about type="b", also suggested by Paul DE> Smith, is that the segments do not go right up to the DE> little circles---a gap is left, which I don't like. The gap is a feature; if you don't want it, use "o" ([o]verplotting lines and points) instead of "b" ([b]oth (lines and points) plot(x, ybarv, type="o", pch=21, bg="white") does in one line what Uwe's solution did in three. DE> So far, Uwes' solution is what suits me best. However, I DE> understand Brian's objection, though it doesn't apply in DE> my case. The discussion makes me fear that it's a very DE> long road ahead before I can get fine control of R DE> graphics. I'd recommend you should really get and read Paul Murrell's book I just mentioned {in the other thread on R-help}, or read through the basic help pages points, lines, plot.default, ... quite carefully, and try and start to understand the many examples / demos etc. DE> Thanks David DE> On 20 Jul, 2008, at 14:54, Prof Brian Ripley wrote: >> On Sun, 20 Jul 2008, Uwe Ligges wrote: >> >>> You probably want to make your code readable, read ?points and go >>> ahead by making the plot without points (plot(....., type="n")), >>> drawing segments and at the end paint points with white background >>> colour in order to "overwrite" the segments: >> >> Except that the background is not necessarily white (and you may >> want it to be transparent or translucent). >> >> It looks to me like lines(type="b") might be what was wanted. >> >> >>> y <- c(1.21, 0.51, 0.14, 1.62, -0.8, >>> 0.72, -1.71, 0.84, 0.02, -0.12) >>> ybar <- mean(y) >>> ll <- length(y) >>> ybarv <- rep(ybar, ll) >>> x <- 1:ll >>> plot(x, ybarv, type="n") >>> segments(x[1], ybar, x[ll], ybar) >>> points(x, ybarv, pch=21, bg="white") >>> >>> >>> >>> Uwe Ligges >>> >>> >>> >>> David Epstein wrote: >>>> Please excuse me for asking such basic questions: >>>> Here is my code >>>>> y=c(1.21,0.51,0.14,1.62,-0.8,0.72,-1.71,0.84,0.02,-0.12) >>>>> ybar=mean(y) >>>>> ll=length(y); >>>>> ybarv=rep(ybar,ll) >>>>> x=1:ll >>>>> plot(x,ybarv,pch=1) >>>>> segments(x[1],ybar,x[ll],ybar) >>>> What I get is a collection of small circles, with a segment "on >>>> top" of the circles, which is almost what I want. But I don't >>>> want the segment to be visible inside any small circle. >>>> Is there an easy way to arrange for the segment to "lie behind" >>>> the pch=1 markers, as in hidden line removal, so that the circles >>>> remain with nothing inside them? I tried putting the segments >>>> command first, but then no segment appeared at all. >>>> In general, is there a method of laying a drawing "on top" of >>>> another. I tried inserting add="T" as an argument to plot, and R >>>> objected strongly. >>>> Thanks for any help >>>> David Epstein ______________________________________________ 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.