[R] Hide line ends behind unfilled circles?
Marc Schwartz
MSchwartz at mn.rr.com
Sun Oct 15 17:42:55 CEST 2006
On Sun, 2006-10-15 at 11:21 -0400, Michael Kubovy wrote:
> Dear r-helpers,
>
> xx <- c(0.000, 0.210, 0.714, 0.514, 1.000, 0.190, 0.590, 0.152)
> yy <- c(0.000, 0.265, 0.256, 0.521, 0.538, 0.761, 0.821, 1.000)
> aa <- c(19, 19, 19, 21, 19, 21, 21, 21)
> x0 <- xx[c(1, 1, 2, 2, 2, 3, 3, 4, 4, 4, 5, 6, 6, 7)]
> y0 <- yy[c(1, 1, 2, 2, 2, 3, 3, 4, 4, 4, 5, 6, 6, 7)]
> x1 <- xx[c(2, 3, 3, 4, 6, 4, 5, 5, 6, 7, 7, 7, 8, 8)]
> y1 <- yy[c(2, 3, 3, 4, 6, 4, 5, 5, 6, 7, 7, 7, 8, 8)]
>
> plot(yy ~ xx, pch = aa, cex = 3)
> segments(x0, y0, x1, y1)
>
> Can anyone suggest a way of insuring that the lines are hidden behind
> the unfilled circles?
Try this:
# Set up the plot region
plot(yy ~ xx, type = "n")
# Draw the segments first
segments(x0, y0, x1, y1)
# Set the circle (pch) background colors
col <- c(rep("black", 3), "white", "black", rep("white", 3))
# Now draw the circles over the line intersections
points(xx, yy, pch = 21, bg = col, cex = 3)
The "unfilled" circles in this case are actually solid white or black.
So instead of altering the point character (pch), we alter the colors.
HTH,
Marc Schwartz
More information about the R-help
mailing list