Problems creating a PNG file for a dendrogram: "Error in plot.window(...) : need finite 'xlim' values"
On Jan 11, 2011, at 7:01 PM, Richard Vlasimsky wrote:
Has anyone successfully created a PNG file for a dendrogram? I am able to successfully launch and view a dendrogram in Quartz. However, the dendrogram is quite large (too large to read on a computer screen), so I am trying to save it to a file (1000x4000 pixels) for viewing in other apps. However, whenever I try to initiate a PNG device, I get a "need finitite 'xlim' values" error. Here is some example code to illustrate my point: cor.matrix <- cor(mydata,method="pearson",use="pairwise.complete.obs"); distance <- as.dist(1.0-cor.matrix); hc <- hclust(distance); p <- plot(hc); plot(p); #This works! Plot is generated in quartz no problem. #Now, try this: png(filename="delme.png",width=4000,height=1000); cor.matrix <- cor(mydata,method="pearson",use="pairwise.complete.obs"); distance <- as.dist(1.0-cor.matrix); hc <- hclust(distance); p <- plot(hc); plot(p); #Error in plot.window(...) : need finite 'xlim' values #In addition: Warning messages: #1: In min(x) : no non-missing arguments to min; returning Inf #2: In max(x) : no non-missing arguments to max; returning -Inf #3: In min(x) : no non-missing arguments to min; returning Inf #4: In max(x) : no non-missing arguments to max; returning -Inf
I'm not sure the other two answers address the problems I found. When I try to set up a png file with the parameters width=4000,height=1000, on a Mac I intially got no plot with what is an otherwise valid command. But after successfully getting plotting to a png device the logjam appear broken. Try: graphics.off() dev.list() #NULL png(filename="delme.png",width=4000,height=1000); plot(hc) dev.off() (Of course I used dev.off() which you did not, but even adding dev.off() was not enough to get success, at least initially. I don't understand the suggestion to get rid of plot(hc) or the suggestion that hclust() returns NULL. That's certainly not how I read the help page and examples for hclust.)
This is the exact same code, only a prior call to png() causes the seemingly unrelated xlim to fail. Why is this? Thanks, Richard Vlasimsky
David Winsemius, MD West Hartford, CT