[R] Problems creating a PNG file for a dendrogram: "Error in plot.window(...) : need finite 'xlim' values"

David Winsemius dwinsemius at comcast.net
Wed Jan 12 04:29:06 CET 2011


On Jan 11, 2011, at 9:27 PM, David Winsemius wrote:

>
> 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.)

I guess it's true to say that I misunderstood when Venables and  
Langfelder _didn't_ say either of those things.  They said that  
plot(plot(hc)) was not needed and I have now seen the light. The  
missing ingredient in the OP's frustrations is still dev.off().

>>
>> 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

David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list