Skip to content

[R-es] Dibujar rectas sobre varios un grafico multipanel

6 messages · Javier Marcuzzi, eric, Oscar Perpiñan

#
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Estimada comunidad, tengo que hacer un grafico con 4 paneles (4 graficos
pegados juntos) y sobre este tengo que dibujar 4 rectas ajustadas a los
datos de cada panel. Intente hacerlo con lattice usando el siguiente
codigo :

library(lattice)
library(latticeExtra)

			
xYplot(Cbind(mf[,3],mf[,5],mf[,6])~dia|factor(sol),data=mf,xlab="Time
(days)",ylab="Unsaturation index", method="bars",
keys="lines",layout=c(4,1),abline=list(list(a=4.532e-04,b=-2.138e-05),list(a=7.137e-05,b=2.699e-05),list(a=3.627e-04,b=2.552e-05),list(a=6.251e-04,
b=4.938e-05)))

y obtengo el grafico que adjunto, el que no responde a mi necesidad pues
debo dibujar una recta en cada panel.

Alguna idea de como hacerlo ?

Adjunto los datos para que prueben si lo desean.

Muchas gracias por vuestro tiempo,

Eric.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJRyJm0AAoJEDoUMoeY1RuM9OIH/0u0H4iZ1aKlWb09TPKFEMNz
DZ6fyI6w0Bl5mwavAP/DLlPf4IIikhOR7d0nn/fWGRXOJdPDw34LDWJa/BxPf1CY
1tP5TfDAIfaNX9xIaaOuqJgztL1uA7+FDb0LGZY4MkCv/nhIW9NPbSz8M+u+VZw+
KI+J/Gcymm/uHEH9T/dvb4ihQQ17Lg8xmDIRUYiVtxG9eaCqZaBnosxsH5oLC7oF
/9aZBC09VnhtpSMtMk3jGMWtCKVHwt7rYrRzgNNVXb2xtl+Kq5ti7mgQ9WQfaGE9
ATEgKxJzBZFf66FEdXuXra99lXfCN1/qBqqMvD6cw0B02C0MR+3mhzgbG3cDhys=
=S8jM
-----END PGP SIGNATURE-----
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: unindex_tiempo_conajustes.png
Type: image/png
Size: 33931 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20130624/c506ea28/attachment-0001.png>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: unindex_tiempo_conajustes.csv
Type: text/csv
Size: 1857 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20130624/c506ea28/attachment-0001.bin>
#
Estimado Eric

¿Podrías dibujar a mano las líneas que necesitas? Creo que facilita la 
comprensión de lo que necesitas (por lo menos a mí).

Javier Marcuzzi


-----Original Message----- 
From: neo
Sent: Monday, June 24, 2013 4:10 PM
To: Lista R
Subject: [R-es] Dibujar rectas sobre varios un grafico multipanel

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Estimada comunidad, tengo que hacer un grafico con 4 paneles (4 graficos
pegados juntos) y sobre este tengo que dibujar 4 rectas ajustadas a los
datos de cada panel. Intente hacerlo con lattice usando el siguiente
codigo :

library(lattice)
library(latticeExtra)


xYplot(Cbind(mf[,3],mf[,5],mf[,6])~dia|factor(sol),data=mf,xlab="Time
(days)",ylab="Unsaturation index", method="bars",
keys="lines",layout=c(4,1),abline=list(list(a=4.532e-04,b=-2.138e-05),list(a=7.137e-05,b=2.699e-05),list(a=3.627e-04,b=2.552e-05),list(a=6.251e-04,
b=4.938e-05)))

y obtengo el grafico que adjunto, el que no responde a mi necesidad pues
debo dibujar una recta en cada panel.

Alguna idea de como hacerlo ?

Adjunto los datos para que prueben si lo desean.

Muchas gracias por vuestro tiempo,

Eric.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJRyJm0AAoJEDoUMoeY1RuM9OIH/0u0H4iZ1aKlWb09TPKFEMNz
DZ6fyI6w0Bl5mwavAP/DLlPf4IIikhOR7d0nn/fWGRXOJdPDw34LDWJa/BxPf1CY
1tP5TfDAIfaNX9xIaaOuqJgztL1uA7+FDb0LGZY4MkCv/nhIW9NPbSz8M+u+VZw+
KI+J/Gcymm/uHEH9T/dvb4ihQQ17Lg8xmDIRUYiVtxG9eaCqZaBnosxsH5oLC7oF
/9aZBC09VnhtpSMtMk3jGMWtCKVHwt7rYrRzgNNVXb2xtl+Kq5ti7mgQ9WQfaGE9
ATEgKxJzBZFf66FEdXuXra99lXfCN1/qBqqMvD6cw0B02C0MR+3mhzgbG3cDhys=
=S8jM
-----END PGP SIGNATURE-----






_______________________________________________
R-help-es mailing list
R-help-es en r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es
#
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Estimado Javier, adjunto el grafico retocado con GIMP, borre las lineas
que sobran en cada panel. Obviamente, no es la idea hacerlo de este
modo, sino con R, pues quiero cambiar el color de la recta y hacer
varios otros graficos, cuya edicion manual requeriria mucho tiempo.

Espero entiendas mejor mi explicacion ahora. Cada una de esas rectas es
un ajuste lineal de los datos de cada panel, y deberia sobreponerlas a
los datos, una en cada panel, el que le corresponde, pero me salen todas
en todos los paneles.

Saludos, Eric.
On 06/24/2013 03:31 PM, Marcuzzi, Javier Rubén wrote:
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJRyKK4AAoJEDoUMoeY1RuMWTwH/RHP+73XmKkoltthwdm/YVn1
njA3YZYVJsbHqrB8bxXhPLbZWo1MkFnd+yKoEFwLgiDzyef7dwG4JjY6FNAE+dl1
HvAAtW5LvNPVy3cuqy9goKV57GMA6T5UOd74VwGfQQiLScnn5JEwck/SjSuv4hU4
p3j0UGzA/zktIsWkYZfLuFZKKIBVUKHm9/jUshwdwkGjVc1MlBcYb36vNROr74hy
RsHGI10F2HSSIoOAs6XKDbs6zscKzUBqPjWl5Xb/rjBWQwGcon2RQ6o8ZXfbVblz
7sPvxbbU1ZcbsaGJUk+JWXW1sH8O9KgS6t8XV26v0E6oMz+kl198xw61n8HwK9w=
=k9Pk
-----END PGP SIGNATURE-----
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: unindex_tiempo_conajustes.png
Type: image/png
Size: 27508 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20130624/63310b75/attachment-0001.png>
#
Eric

En http://www.inside-r.org/packages/cran/latticeExtra/docs/panel.lmlineq 
utilizan una diferencia, panel.ablineq en lugar de abline.

¿funcionará con ese cambio?

Javier Marcuzzi

-----Original Message----- 
From: neo
Sent: Monday, June 24, 2013 4:49 PM
To: "Marcuzzi, Javier Rubén" ; Lista R
Subject: Re: [R-es] Dibujar rectas sobre varios un grafico multipanel

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Estimado Javier, adjunto el grafico retocado con GIMP, borre las lineas
que sobran en cada panel. Obviamente, no es la idea hacerlo de este
modo, sino con R, pues quiero cambiar el color de la recta y hacer
varios otros graficos, cuya edicion manual requeriria mucho tiempo.

Espero entiendas mejor mi explicacion ahora. Cada una de esas rectas es
un ajuste lineal de los datos de cada panel, y deberia sobreponerlas a
los datos, una en cada panel, el que le corresponde, pero me salen todas
en todos los paneles.

Saludos, Eric.
On 06/24/2013 03:31 PM, Marcuzzi, Javier Rubén wrote:
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJRyKK4AAoJEDoUMoeY1RuMWTwH/RHP+73XmKkoltthwdm/YVn1
njA3YZYVJsbHqrB8bxXhPLbZWo1MkFnd+yKoEFwLgiDzyef7dwG4JjY6FNAE+dl1
HvAAtW5LvNPVy3cuqy9goKV57GMA6T5UOd74VwGfQQiLScnn5JEwck/SjSuv4hU4
p3j0UGzA/zktIsWkYZfLuFZKKIBVUKHm9/jUshwdwkGjVc1MlBcYb36vNROr74hy
RsHGI10F2HSSIoOAs6XKDbs6zscKzUBqPjWl5Xb/rjBWQwGcon2RQ6o8ZXfbVblz
7sPvxbbU1ZcbsaGJUk+JWXW1sH8O9KgS6t8XV26v0E6oMz+kl198xw61n8HwK9w=
=k9Pk
-----END PGP SIGNATURE-----
#
Gracias, voy a probar :)

Slds, eric.
On 06/24/2013 04:01 PM, Marcuzzi, Javier Rubén wrote:
#
Hola,

Prueba esto:

xyplot(mean ~ dia|sol, data = dats,
       type=c('p', 'r'), layout=c(4, 1),
       ylim=extendrange(c(min(dats$ll), max(dats$ul))),
       ll = dats$ll, ul = dats$ul,
       panel=function(x, y, subscripts, ll, ul, ...) {
           panel.segments(as.numeric(x), ll[subscripts],
                          as.numeric(x), ul[subscripts], ...)
           panel.xyplot(x, y, ...)
       })

Otra opción es latticeExtra::segplots pero no es fácil añadir las
líneas de regresión.

Saludos.

Oscar.
Oscar Perpiñán Lamigueiro
Grupo de Sistemas Fotovoltaicos (IES-UPM)
Dpto. Ingeniería Eléctrica (EUITI-UPM)
URL: http://procomun.wordpress.com
Twitter: @oscarperpinan


El día 24 de junio de 2013 21:10, neo <ericconchamunoz en gmail.com> escribió: