[R] A horizontal or vertical line draw on mosaic plot?
Dieter Menne
dieter.menne at menne-biomed.de
Fri May 2 19:41:33 CEST 2008
Sang Chul Choi <Choi <at> biology.rutgers.edu> writes:
> I want to have a horizontal line on a mosaic plot with "vcd" package.
> This would give me an idea where is 0.5 proportion in a cell. Using
> "mosaicplot" function of "graphics" package, I can draw a line using
> "abline." But, with "mosaic" function of "vcd" package, I have tried
> to use "abline" function, which complains "plot.new has not been
> called yet".
>
> Is there a way to draw lines across a mosaic plot?
>
> ========================================================
> library(vcd)
> music = c(210, 194, 170, 110,
> 190, 406, 730, 290)
> dim(music) = c(2, 4)
> dimnames(music) = list(Age = c("Old", "Young"),
> Education = c("High", "Low", "Upper", "Lower"))
> mosaic(music, keep_aspect_ratio=FALSE)
> abline(h=0.5)
> Error in int_abline(a = a, b = b, h = h, v = v, untf = untf, ...) :
> plot.new has not been called yet
> ========================================================
Not that easy. vcd uses grid graphics, which is a medium-to-low level package;
for example, lattice also uses grid graphics, and abline would not help.
You could draw directly using grid graphics, but it may be a bit of reading. Use
the example on the bottom of the strucplot page as a starter, which changes
color. Also see page 17 of strucplot.pdf in the doc-directory of vcd for an
example how to draw a frame around a rectangle.
grid.edit("rect:Class=1st,Sex=Male,Age=Adult,Survived=Yes",
gp = gpar(fill = "red"))
Dieter
More information about the R-help
mailing list