[R] Forcing ticks in plot for hclust object outside the limits

Aleš Žiberna ales.ziberna at guest.arnes.si
Sun May 29 20:39:35 CEST 2005


Thank you very much for your reply and your *dirty* sloution, which does the 
trick for me!

Aleš Žiberna


----- Original Message ----- 
From: "Uwe Ligges" <ligges at statistik.uni-dortmund.de>
To: "Aleš Žiberna" <ales.ziberna at guest.arnes.si>
Cc: "R-help" <r-help at stat.math.ethz.ch>
Sent: Saturday, May 28, 2005 7:58 PM
Subject: Re: [R] Forcing ticks in plot for hclust object outside the limits


> Aleš Žiberna wrote:
>> Hello!
>>
>> I have the following problem.
>>
>> I would like to plot the hclust object "hcd" (bellow, at the end of the 
>> mail) with ticks at seq(0.05,0.25,by=0.05). I tried using the code
>> plot(hcd)
>> and
>> plot(hcd,axes=FALSE)
>> axis(2,seq(0.05,0.25,by=0.05))
>>
>> In both cases, the resoult is the same, ticks at 0.05 and 0.25 are not 
>> printed. I tried changing the ylim argumet in plot, however I got a 
>> warning "parameter "ylim" couldn't be set in high-level plot() function".
>>
>> I would like to force those two ticks. Can this be done with axis or 
>> plot, or should I use "lines"?
>
>
> Not easy with the plot method for a hclust object, because 0.05 and 0.25 
> are getting clipped, because they are out od the "usr" coordinated of the 
> plot.
>
> Of course you could hack plot.hclust (in Namespace stats) by modifying 
> .../R/library/src/stats/R/hclust.R as follows (in order to provide a 
> proper ylim argument):
>
> diff hclust.R-orig hclust.R
>
> 91c91,92
> <               sub = NULL, xlab = NULL, ylab = "Height", ...)
> ---
> >               sub = NULL, xlab = NULL, ylab = "Height",
> >               ylim = NULL, ...)
> 116c117,120
> <     .Internal(dend.window(n, merge, height, hang, labels, ...))
> ---
> >     height2 <- height
> >     if(!is.null(ylim))
> >         height2 <- c(range(ylim), rep(ylim[1], length(height) - 2))
> >     .Internal(dend.window(n, merge, height2, hang, labels, ...))
>
>
> Note that this quick hack is a *dirty* solution.
>
> Uwe Ligges
>
>
>
>
>> Thanks in advance for any suggestions!
>> Aleš Žiberna
>>
>>
>> "hcd" <-
>> structure(list(merge = structure(as.integer(c(-4, -5, -1, -7,
>> -6, -10, -3, -12, -8, -2, 8, 1, -9, -11, 2, 3, -13, 4, 6, 5,
>> 7, 9, 10, 11)), .Dim = as.integer(c(12, 2))), height = 
>> c(0.0906288626438465,
>> 0.10278145998519, 0.114885217561497, 0.127812745765521, 
>> 0.132377986666522,
>> 0.168594637784091, 0.177187802444346, 0.209803430657638, 
>> 0.210361529934791,
>> 0.218946973173863, 0.234000873708654, 0.235702383243089), order = 
>> as.integer(c(4,
>> 9, 12, 6, 13, 2, 8, 3, 10, 7, 1, 5, 11)), labels = NULL, method = 
>> "single",
>>    call = quote(hclust(d = d, method = "single")), dist.method = NULL), 
>> .Names = c("merge",
>> "height", "order", "labels", "method", "call", "dist.method"), class = 
>> "hclust")
>>
>> ______________________________________________
>> R-help at stat.math.ethz.ch mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide! 
>> http://www.R-project.org/posting-guide.html
>
>
>




More information about the R-help mailing list