Re: [R] drawing segments through points with pch=1

From: David Epstein <David.Epstein_at_warwick.ac.uk>
Date: Sun, 20 Jul 2008 15:40:34 +0100

What I don't like about type="b", also suggested by Paul Smith, is that the segments do not go right up to the little circles---a gap is left, which I don't like. So far, Uwes' solution is what suits me best. However, I understand Brian's objection, though it doesn't apply in my case. The discussion makes me fear that it's a very long road ahead before I can get fine control of R graphics.

Thanks
David

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_at_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.
>>
>> ______________________________________________
>> R-help_at_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.
>>
>
> --
> Brian D. Ripley, ripley_at_stats.ox.ac.uk
> Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
> University of Oxford, Tel: +44 1865 272861 (self)
> 1 South Parks Road, +44 1865 272866 (PA)
> Oxford OX1 3TG, UK Fax: +44 1865 272595



R-help_at_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. Received on Sun 20 Jul 2008 - 14:46:30 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Mon 21 Jul 2008 - 10:32:03 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive