FACT1 <- vector("character", 15)
for(i in 1:15){ FACT1[i] <- paste(rep(LETTERS[i], 20), collapse ="")}
mydata <- data.frame(FACT1 = rep(FACT1, 9), FACT2 = rep(c("E", "F", "G"), c(15, 15, 15)), RESPVAL = runif(45*3), RESPVAR = rep(c("V1", "V2", "V3"), c(45, 45, 45)))
library(lattice)
trellis.device(width=11, height=8.5, new = FALSE, col = FALSE, bg = "white")
dotplot(FACT1 ~ RESPVAL | RESPVAR * FACT2, data = mydata, between = list(x = 0.5, y = 0))
hope this helps,
Chuck Cleland
Richard Valliant wrote:
I am trying to put 3 dotcharts side-by-side with minimal space between
each. Each chart is for a different variable, but the vertical axes are
the same. I want to have vertical axis labels on the lefthand chart but no
vertical axis labels on the other two. Plus, I would like very little
space between charts 1 & 2 and between charts 2 & 3.
I have one approach but am not too happy with the results. A stripped
down version of the code is below. Matrix A has the row labels (which
are about 20 characters long in the real data). Matrix A1 has no row
labels.
A <- matrix(1:12, ncol=3, byrow=F)
A1 <- A
dimnames(A) <- list(letters[1:4], letters[5:7])
dimnames(A1) <- list(rep("",4), rep("",3))
par(mfrow = c(1,3), mgp = c(1.75, 1, 0.5), mar = c(3, 0, 1.5, 0), oma =
c(2,2,2,2))
dotchart(A)
dotchart(A1)
dotchart(A1)
Two questions: (1) Is there a way with par or something else to make the charts closer together. (2) With a lot of rows (45 in the real data) is there a way to control row spacing (other than getting rid of some rows).
-- Chuck Cleland, Ph.D. NDRI, Inc. 71 West 23rd Street, 8th floor New York, NY 10010 tel: (212) 845-4495 (Tu, Th) tel: (732) 452-1424 (M, W, F) fax: (917) 438-0894
______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html