George Chen
2010-Feb-23 02:04 UTC
[R] How to change a venn command into a named object that can be plotted like a lattice object
Hello,
I am plotting data as a venn diagram but would like to be able to control how it
is plotted like a lattice object.
Right now, it plots right away. I would like to name it and then plot at will.
I thought to convert the whole thing to a PostScript file then get it back into
R via grImport, but surely (please!) there must be a less roundabout way to do
this.
Any help is appreciated.
Here is my code:
# Wrapper function to draw Venn diagram
Venn2 <- function(set1, set2, names, title,...){
stopifnot( length(names) == 2)
# Form universe as union of both sets
universe <- sort( unique( c(set1, set2) ) )
Counts <- matrix(0, nrow=length(universe), ncol=2)
colnames(Counts) <- names
for (i in 1:length(universe)) {
Counts[i,1] <- universe[i] %in% set1
Counts[i,2] <- universe[i] %in% set2
}
vennDiagram( vennCounts(Counts),main=title,... )
}
# How I draw the Venn diagram
Venn2(cPostArrayHitsNames,cPreArrayHitsNames,names=c("Post","Pre"),title=PatientID)
Unfortunately something like this doesn't work:
VennPlot<-Venn2(cPostArrayHitsNames,cPreArrayHitsNames,names=c("Post","Pre"),title=PatientID)
Apologies for the imprecise terminology.
Thanks.
GLC
Hrishi Mittal
2010-Feb-23 02:34 UTC
[R] How to change a venn command into a named object that can be plotted like a lattice object
George, Unless, Venn Diagrams are produced as lattice objects, I don't think you can save them to modify or update later on. However, if you are just looking for a shortcut to avoid calling the plotting function again and again you could use the recordPlot() and replayPlot() functions. Add this line to the end of your Venn2 function definition: return(recordPlot()) Then once you've assigned the plot to VennPlot, you can use the following command to replot it again whenever you need it: replayPlot(VennPlot) ----- Try http://prettygraph.com Pretty Graph , the easiest way to make R-powered graphs on the web. -- View this message in context: http://n4.nabble.com/How-to-change-a-venn-command-into-a-named-object-that-can-be-plotted-like-a-lattice-object-tp1565421p1565438.html Sent from the R help mailing list archive at Nabble.com.