Hola,

Aunque no he terminado de encontrar una solución, al menos comparto hasta
el punto al que he llegado.
Veo muy complicado el que ambos gráficos puedan compartir las mismas
escalas.

En este ejemplo veréis como los dos gráficos tienen a la misma altura (o
casi) los dos ejes de las "Y", y aun teniendo el mimo número de ticks (5)
uno queda más corto que el otro como consecuencia de la propia estructura
interna del conjunto. Esta aproximación se logra jugando con el parámetro
"hang", pero en uno de los gráficos.


#......................................................
par(mfrow = c(1, 2), mar = c(2, 4, 3, 4), oma = c(.1, .1, .1, .1))
at.val <- seq(.5, 1.5, by=0.1)

plot(rA, xlab = "", sub = "", las = 1, main = "", yaxt = "n" )
axis(2, at = at.val[1:5], las = 1, tick=T); box()

plot(rB, xlab = "", sub = "", las = 1, main = "", yaxt = "n", hang=.01)
axis(2, at = at.val[1:5], las = 1, tick=T); box()
#....................................................

Como alternativa para que pudieran quedar a la misma altura, he probado con
esta alternativa usando "layout()" con la que en modo prueba y error he
encontrado parear los dos gráficos ( solución completamente ad-hoc)..

#-------------------------------------------------------
par( mar = c(2, 4, 3, 4), oma = c(.1, .1, .1, .1))
nf <- layout(matrix(c(1,0,1,2,1,2,1,2,1,2),5,2, byrow=TRUE), TRUE)
at.val <- seq(.5, 1.5, by=0.1)
# Chart 2
plot(rA, xlab = "", sub = "", las = 1, main = "", yaxt = "n")
axis(2, at = at.val[1:5], las = 1, tick=T); box()
# Chart 1
plot(rB, xlab = "", sub = "", las = 1, main = "", yaxt = "n", hang=0.01 )
axis(2, at = at.val[1:5], las = 1, tick=T); box()
#-------------------------------------------------------

Saludos,
Carlos Ortega
www.qualityexcellence.es



El 22 de mayo de 2013 16:38, daniel <daniel319@gmail.com> escribió:

> Jorge,
>
> Seguramente te percataste de lo que pongo a continuación pero solo para
> completar mi ejemplo anterior:
>
> hc <- hclust(dist(USArrests), "ave")
> hc2 <- hclust(dist(USArrests), "complete")
> str(hc)
> hcd <- as.dendrogram(hc)
> hcd2 <- as.dendrogram(hc2)
> par( mfcol=c( 1, 2))
> plot(hcd, ylim=c(0, 150))
> box()
> plot(hcd2, ylim=c(0, 300))
> box()
>
> La mala noticia es que as.dendrogram no reconoce el objeto de clase
> pvclus. Espero encuentres la forma de poderlo adaptar en lo personal no
> tengo familiaridad con el paquete pvclust.
>
> Daniel Merino
>
>
> El 22 de mayo de 2013 10:43, Jorge I Velez <jorgeivanvelez@gmail.com>escribió:
>
> Hola Javier,
>>
>> Ese fue mi fallido intento por lograr lo que quiero.  Al parecer esa
>> opcion tiene un efecto nulo en este tipo de graficos, sea un ejemplo (como
>> en este caso) o con los datos reales.
>>
>> Gracias por intentar.
>>
>> Un saludo,
>> Jorge.-
>>
>>
>> 2013/5/22 Marcuzzi, Javier Rubén <javier.ruben.marcuzzi@gmail.com>
>>
>> Estimado Jorge Velez
>>>
>>> Yo no utilizo ese tipo de gráficos, los ignoro completamente, pero
>>> aprendo de los otros.
>>> En el código leo:
>>>
>>> axis(2, at = seq(.5, 1.5, by = .05), las = 1)
>>> para ambos gráficos, pero al ejecutarlo en mi caso no da una escala
>>> igual, desde .5 a 1.5, ambos comienzan en 0.5, pero terminan la escala en
>>> 1.00 y 1.15
>>>
>>> ¿Puede ser que al ser un ejemplo esto no permita el gráfico con dos sub
>>> gráficos e idéntica escala pero en lo real si lo permite?
>>>
>>> Javier Marcuzzi
>>>
>>>
>>> -----Original Message----- From: Jorge I Velez
>>> Sent: Wednesday, May 22, 2013 4:46 AM
>>> To: Carlos Ortega ; Daniel Merino
>>> Cc: Lista R
>>> Subject: Re: [R-es] Fwd: Cambiando limites en hclust()
>>>
>>>
>>> Disculpas a todos.  Las primeras 3 lineas deberian haber sido:
>>>
>>> # plot generation
>>> if(!require(pvclust))
>>> install.packages('pvclust', repos = 'http://cran.ma.imperial.ac.**uk/<http://cran.ma.imperial.ac.uk/>
>>> ')
>>> suppressPackageStartupMessages**(require(pvclust))
>>>
>>> Jorge.-
>>>
>>>
>>>
>>> 2013/5/22 Jorge I Velez <jorgeivanvelez@gmail.com>
>>>
>>>  Muchisimas gracias Carlos y Daniel.
>>>>
>>>> Las alternativas son promisorias, pero desafortunadamente no realizan lo
>>>> que intento hacer: que ambos graficos en
>>>> https://dl.dropboxusercontent.**com/u/9601860/cluster.pdf<https://dl.dropboxusercontent.com/u/9601860/cluster.pdf>tengan la misma
>>>> escala en el eje "y".
>>>>
>>>> El codigo para generar este grafico es el siguiente:
>>>>
>>>> # plot generation
>>>> if(!require(pvclust))
>>>>  install.packages('pvclust', repos = 'http://cran.ma.imperial.ac.**uk/<http://cran.ma.imperial.ac.uk/>
>>>> ')
>>>>  suppressPackageStartupMessages**(require(pROC))
>>>>  set.seed(123)
>>>> A <- matrix(rnorm(23*8), ncol = 8)
>>>> B <- matrix(rnorm(23*8), ncol = 8)
>>>> colnames(A) <- colnames(B) <- letters[1:8]
>>>> rA <- pvclust(A, method.hclust = "average", method.dist = "correlation",
>>>> nboot = 100 )
>>>> rB <- pvclust(B, method.hclust = "average", method.dist = "correlation",
>>>> nboot = 100 )
>>>>
>>>> par(mfrow = c(1, 2), mar = c(2, 4, 3, 4), oma = c(.1, .1, .1, .1))
>>>> plot(rA, xlab = "", sub = "", las = 1, main = "", yaxt = "n")
>>>> axis(2, at = seq(.5, 1.5, by = .05), las = 1)
>>>>
>>>> plot(rB, xlab = "", sub = "", las = 1, main = "", yaxt = "n")
>>>> axis(2, at = seq(.5, 1.5, by = .05), las = 1)
>>>>
>>>>
>>>> Gracias de nuevo.
>>>>
>>>> Saludos,
>>>> Jorge.-
>>>>
>>>>
>>>>
>>>>
>>>> 2013/5/22 Carlos Ortega <cof@qualityexcellence.es>
>>>>
>>>>  Lo siento, no puse en copia a la Lista de esta alternativa...
>>>>>
>>>>> Saludos,
>>>>> Carlos Ortega
>>>>> www.qualityexcellence.es
>>>>>
>>>>> ---------- Mensaje reenviado ----------
>>>>> De: Carlos Ortega <cof@qualityexcellence.es>
>>>>> Fecha: 21 de mayo de 2013 11:35
>>>>> Asunto: Re: [R-es] Cambiando limites en hclust()
>>>>> Para: Jorge I Velez <jorgeivanvelez@gmail.com>
>>>>>
>>>>>
>>>>> Hola Jorge,
>>>>>
>>>>> Puedes evitar que el plot ponga los ejes y luego construyes el eje a tu
>>>>> conveniencia.
>>>>> Una forma de hacerlo es esta:
>>>>>
>>>>> plot(hc, axes=F,hang=-1)
>>>>> ex.perc <- 15
>>>>> num.tick <- 8
>>>>> axis(
>>>>>        2
>>>>>      , at=round(seq(round(min(hc$**height),0),
>>>>> round(max(hc$height)*(1+ex.**perc/100),0), length.out=num.tick),0)
>>>>>      ,labels=T, las=1, cex=0.7
>>>>>     )
>>>>> box()
>>>>>
>>>>>
>>>>> Saludos,
>>>>> Carlos Ortega
>>>>> www.qualityexcellence.es
>>>>>
>>>>>
>>>>> El 21 de mayo de 2013 10:44, Jorge I Velez <jorgeivanvelez@gmail.com
>>>>> >escribió:
>>>>>
>>>>> > Buenas tardes a todos,
>>>>> >
>>>>> > Estoy interesado en cambiar los límites del eje y en un dendograma
>>>>> > construído utilizando la función hclust().  A continuación un
>>>>> ejemplo:
>>>>> >
>>>>> > hc <- hclust(dist(USArrests), "ave")
>>>>> > plot(hc)
>>>>> >
>>>>> > Hasta aquí todo bien.  Si quisiera cambiar los límites del eje "y" de
>>>>> c(0,
>>>>> > 200)?  Al usar
>>>>> >
>>>>> >  plot(hc, ylim = c(0, 200))
>>>>> >
>>>>> > no observo efecto alguno.
>>>>> >
>>>>> > Qué puedo hacer?
>>>>> >
>>>>> > Muchas gracias a todos.
>>>>> > Jorge.-
>>>>> >
>>>>> >         [[alternative HTML version deleted]]
>>>>> >
>>>>> >
>>>>> > ______________________________**_________________
>>>>> > R-help-es mailing list
>>>>> > R-help-es@r-project.org
>>>>> > https://stat.ethz.ch/mailman/**listinfo/r-help-es<https://stat.ethz.ch/mailman/listinfo/r-help-es>
>>>>> >
>>>>> >
>>>>>
>>>>>
>>>>> --
>>>>> Saludos,
>>>>> Carlos Ortega
>>>>> www.qualityexcellence.es
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Saludos,
>>>>> Carlos Ortega
>>>>> www.qualityexcellence.es
>>>>>
>>>>>         [[alternative HTML version deleted]]
>>>>>
>>>>>
>>>>> ______________________________**_________________
>>>>> R-help-es mailing list
>>>>> R-help-es@r-project.org
>>>>> https://stat.ethz.ch/mailman/**listinfo/r-help-es<https://stat.ethz.ch/mailman/listinfo/r-help-es>
>>>>>
>>>>>
>>>>>
>>>>
>>> [[alternative HTML version deleted]]
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> ______________________________**_________________
>>> R-help-es mailing list
>>> R-help-es@r-project.org
>>> https://stat.ethz.ch/mailman/**listinfo/r-help-es<https://stat.ethz.ch/mailman/listinfo/r-help-es>
>>>
>>
>>
>
>
> --
> Daniel
>



-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es

	[[alternative HTML version deleted]]

