[R] a minor bug in "venn" from gplots?
Tao Shi
shitao at hotmail.com
Thu Oct 29 18:06:22 CET 2009
Hi list,
I found this one when I was trying to output the Venn diagram to a .pdf file. When there are 4 sets of groups to draw, the .pdf file automatically has 3 pages and the figure only appears on the 3rd page in the .pdf file with the first 2 pages being blank. Try the following: (I'm using R-2.9.0 on WinXP, gplots 2.7.1). gplots 2.7.3 has the same problem.
###==========================
pdf("test.pdf")
A<- 1:20
B<- 1:20
C<- 2:20
D<- 3:21
input<-list(A,B,C,D)
venn(input)
dev.off()
###==========================
By looking at the code of "drawVennDiagram", I think the problem comes from the fact there are one grid.newpage() call and two plot function calls when numCircles==4 (see below). I wonder the grid.newpage() and the second plot call are necessary?
Thanks a lot.
...Tao
##=========================================================================
........
else if (4 <= numCircles && numCircles <= 5 && !simplify) {
grid.newpage() <<<<<<<<<<<<<<<<===============================
relocate_elp <- function(e, alpha, x, y) {
phi = (alpha/180) * pi
xr = e[, 1] * cos(phi) + e[, 2] * sin(phi)
yr = -e[, 1] * sin(phi) + e[, 2] * cos(phi)
xr = x + xr
yr = y + yr
return(cbind(xr, yr))
}
lab <- function(identifier, data, showLabel = showSetLogicLabel) {
r <- data[identifier, 1]
if (showLabel) {
return(paste(identifier, r, sep = "\n"))
}
else {
return(r)
}
}
plot(c(0, 400), c(0, 400), type = "n", axes = F, ylab = "", <<<<<<<<<<<<<<============
xlab = "")
if (4 == numCircles) {
elps = cbind(162 * cos(seq(0, 2 * pi, len = 1000)),
108 * sin(seq(0, 2 * pi, len = 1000)))
plot(c(0, 400), c(0, 400), type = "n", axes = F, <<<<<<<<<<<<<<<<<<===============
ylab = "", xlab = "")
polygon(relocate_elp(elps, 45, 130, 170))
polygon(relocate_elp(elps, 45, 200, 200))
...........
###===============================================================================
_________________________________________________________________
[[elided Hotmail spam]]
D24727::T:WLMTAGL:ON:WL:en-US:WWL_WIN_myidea:102009
More information about the R-help
mailing list