[R] drawing segments through points with pch=1
Paulo Barata
pbarata at infolink.com.br
Mon Jul 21 15:05:37 CEST 2008
Dear Mr. Epstein,
This is another solution, two commands have been added
to your own 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)
## cover the points with other points completely white:
points(x,ybarv,pch=16,col='white')
## just write a black border over the white points (with pch=1)
points(x,ybarv,pch=1,col='black')
The two new commands are layered on top of the previous ones.
To write "on top" of a plot command, use the points command.
Regards,
Paulo Barata
----------------------------------------------------------------
Paulo Barata
Fundacao Oswaldo Cruz - Oswaldo Cruz Foundation
Rua Leopoldo Bulhoes 1480 - 8A
21041-210 Rio de Janeiro - RJ
Brazil
E-mail: pbarata at infolink.com.br
Alternative e-mail: paulo.barata at ensp.fiocruz.br
----------------------------------------------------------------
>Message: 14
>Date: Sun, 20 Jul 2008 13:44:27 +0100
>From: David Epstein <David.Epstein at warwick.ac.uk>
>Subject: [R] drawing segments through points with pch=1
>To: r-help at r-project.org
>Message-ID: <B7CC24E1-9022-42F1-9BE2-914E73A22A60 at warwick.ac.uk>
>Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
>
>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
More information about the R-help
mailing list