[R-es] Gráfico von varias variables
Xavi de Blas
xaviblas en gmail.com
Mie Oct 31 10:24:18 CET 2012
Perdón por el autobombo pero aquí tengo un gráfico con 4 variables que
me satisface:
http://chronojump.org/server/images/tf_by_level_sex_jumptype.png
el código está aquí:
http://git.gnome.org/browse/chronojump/tree/chronojump_server/r-sqlite/tf_by_level_sex_jumptype.R
A ver si te sirve. Saludos
2012/10/31 Carlos Ortega <cof en qualityexcellence.es>:
> Hola,
>
> La clave está destacada en utilizar "*add=T*" en el segundo barplot para
> superponerle al primero en vez de utilizar "par(new=T)".
> El destaco los cambios en tu mismo código:
>
> par(mar=c(4,4,3,1), #
> omi=c(0.1,0.1,0.1,0.1), #
> las=1, #
> mex=0.5, #
> cex.lab = 1, #
> cex.axis=0.7) # el tamaño de las leyendas
> barplot(caps$personas,
> names.ar=caps$CAPS,
> col="blue", border=F, space=.01)
> *#par(new=T)*
> barplot(caps$PersonasRCVG, axes=F, ann=F, type="n",
> # crea la barra de caps$PersonasRCGV, pero cambia los ejes porque
> el resultado gráfico no es
> # coherente con los valores (caps$PersonasRCVG siempre es un valor
> menor que
> # caps$personas...)
> col="grey", border=F, space=.01*, add=T*)
>
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>
> El 31 de octubre de 2012 05:32, Mauricio Monsalvo
> <m.monsalvo en gmail.com>escribió:
>
>> Estimados amigos,
>> Tengo el siguiente set de datos:
>> caps <- datos[datos$NombreDepartamento=="LANUS", c("CAPS", "personas",
>> "PersonasRCVG", "Con12Meses")]
>> caps$prevalencia <- round(caps$PersonasRCVG/caps$personas*100,1)
>> caps
>>
>> CAPS personas PersonasRCVG Con12Meses prevalencia
>> 2345 2345 1347 132 211 9.8
>> 2363 2363 17272 1602 2320 9.3
>> 2341 2341 1771 241 220 13.6
>> 2361 2361 2725 371 466 13.6
>> 2342 2342 4590 538 3615 11.7
>> 2347 2347 16610 1678 5884 10.1
>> 2348 2348 2961 373 883 12.6
>> 2350 2350 8132 990 1180 12.2
>> 2351 2351 2205 332 208 15.1
>> 2355 2355 4059 409 548 10.1
>> 2364 2364 5175 517 696 10.0
>> 2349 2349 1111 158 459 14.2
>> 2360 2360 809 127 190 15.7
>> 2362 2362 3112 358 754 11.5
>> 2365 2365 2522 340 271 13.5
>> 2343 2343 12136 1112 5016 9.2
>> 2344 2344 20956 2365 4161 11.3
>> 2346 2346 2640 273 1062 10.3
>> 2357 2357 3143 458 682 14.6
>> 2358 2358 3432 337 532 9.8
>> 2340 2340 1733 288 384 16.6
>> 2352 2352 17358 1694 3511 9.8
>> 2356 2356 15034 1780 10990 11.8
>> 2359 2359 15907 1731 6464 10.9
>> 8924 8924 639 160 103 25.0
>> 8929 8929 734 107 66 14.6
>> 8937 8937 2688 527 414 19.6
>> 8932 8932 858 93 96 10.8
>>
>> Y quiero graficar las 4 variables juntas. Creo que casi casi casi lo logro,
>> salvo por (a) la barra de caps$PersonasRCVG, que pareciera cambia los
>> valores del eje Y a otra escala... creo... y (b) porque me falta ordenar el
>> gráfico por la línea de caps$Con12Meses (de mayor a menor).
>> Va mi mejor intento:
>> par(mar=c(4,4,3,1), #
>> omi=c(0.1,0.1,0.1,0.1), #
>> las=1, #
>> mex=0.5, #
>> cex.lab = 1, #
>> cex.axis=0.7) # el tamaño de las leyendas
>> barplot(caps$personas,
>> names.ar=caps$CAPS,
>> col="blue", border=F, space=.01)
>> par(new=T)
>> barplot(caps$PersonasRCVG, axes=F, ann=F, type="n", # crea la barra de
>> caps$PersonasRCGV, pero cambia los ejes porque el resultado gráfico no es
>> coherente con los valores (caps$PersonasRCVG siempre es un valor menor que
>> caps$personas...)
>> col="grey", border=F, space=.01)
>> par(new=T)
>> plot(caps$Con12Meses, axes=F, ann=F, type="n")
>> points(caps$Con12Meses,type="l",col="black") # Crea la línea para
>> caps$Con12Meses (por la cual quiero ordenar)
>> points(caps$Con12Meses, pch=16, col="black") # agrega puntos negros
>> rellenos a la línea
>> par(new=T)
>> plot(caps$prevalencia, axes=F, ann=F, type="n")
>> axis(4) # Crea el eje secundario
>> points(caps$prevalencia,type="l",col="red") # Crea la línea sobre el
>> eje secundario
>> points(caps$prevalencia, pch=16, col="red") # agrega puntos rojos
>> rellenos a la línea
>> text(caps$prevalencia, labels=paste(caps$prevalencia), pos=3, col="red", )
>> # si se quiere poner la prevalencia en el gráfico.
>> ¿Podrían por favor ayudarme con la solución? Les juro que renegué como loco
>> para llegar a este punto y creo que ya no "veo" más nada en las ayudas!
>> Además, ¿no hay una forma más "simple" de hacerlo?
>> Muchas gracias, como siempre. (Algún día aprenderé...)
>> --
>> Mauricio
>>
>> [[alternative HTML version deleted]]
>>
>>
>> _______________________________________________
>> R-help-es mailing list
>> R-help-es en r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>
>>
>
>
> --
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>
> [[alternative HTML version deleted]]
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
Más información sobre la lista de distribución R-help-es