[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