Hola de nuevo:<br>Un problema más que no logro saldar... Las líneas del primer y segundo eje dibujan sus "puntos" en un lugar raro, sospechoso... como si estuviera levemente corrido en relación al lugar que esperaba (la mitad de las barras).- No se si se alcanza a ver en el adjunto. Las primeras están más hacia la izquierda, los últimos más hacia la derecha. Probé eliminando los NA (caps <- na.omit(caps)) como para ver si el problema era la diferencia en la cantidad de observaciones, pero no lo resolvió. <br>
Claro que puedo eliminar los puntos, pero en ese caso pierdo análisis gráfico y puede que esté ocultando algún error.<br>Creo que si logro ajustar este gráfico, lo patento!!<br>Saludos.<br>Mauricio.<br><br><br><div class="gmail_quote">
El 31 de octubre de 2012 11:30, Mauricio Monsalvo <span dir="ltr"><<a href="mailto:m.monsalvo@gmail.com" target="_blank">m.monsalvo@gmail.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<u></u><div>Elemental... <br>Gracias de nuevo.<br><div>Mauricio</div><hr><div><b>From: </b> Carlos Ortega <<a href="mailto:cof@qualityexcellence.es" target="_blank">cof@qualityexcellence.es</a>>
</div><div><b>Date: </b>Wed, 31 Oct 2012 15:21:43 +0100</div><div><b>To: </b>Mauricio Monsalvo<<a href="mailto:m.monsalvo@gmail.com" target="_blank">m.monsalvo@gmail.com</a>></div><div><b>Cc: </b>r-help-es<<a href="mailto:r-help-es@r-project.org" target="_blank">r-help-es@r-project.org</a>></div>
<div><b>Subject: </b>Re: [R-es] Gráfico von varias variables</div><div><div class="h5"><div><br></div><font face="verdana, sans-serif">Hola,</font><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">Para ordenar todo por la columna "Con12Meses" se puede hacer ordenando inicialmente el data.frame "caps" y luego ya generar todos los gráficos.</font></div>

<div><font face="verdana, sans-serif">Adjunto el código. Tan sólo cambia una línea (la destaco en rojo):</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif"><br></font></div>

<div><div><font face="verdana, sans-serif">##############################################</font></div><div><font color="#ff6666" face="verdana, sans-serif"><b>#ordeno por columna "Con12Meses"</b></font></div><div>

<font color="#ff6666" face="verdana, sans-serif"><b>caps <- caps[order(caps$Con12Meses, decreasing=T),]</b></font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">par(mar=c(4,4,4,4),            #</font></div>

<div><font face="verdana, sans-serif">    omi=c(0.1,0.1,0.1,0.1),    #</font></div><div><font face="verdana, sans-serif">    las=1,                     #</font></div><div><font face="verdana, sans-serif">    mex=0.5,                   #</font></div>

<div><font face="verdana, sans-serif">    cex.lab = 1,               #</font></div><div><font face="verdana, sans-serif">    cex.axis=0.7)              # el tamaño de las leyendas</font></div><div><font face="verdana, sans-serif">barplot(</font></div>

<div><font face="verdana, sans-serif">        caps$personas,</font></div><div><font face="verdana, sans-serif">        <a href="http://names.ar" target="_blank">names.ar</a>=caps$CAPS,</font></div><div><font face="verdana, sans-serif">        col="blue", border=F, space=.01, axes=F, ylim=c(0, 1.20*max(caps$personas))</font></div>

<div><font face="verdana, sans-serif">        )</font></div><div><font face="verdana, sans-serif">axis(2, col.axis="blue")</font></div><div><font face="verdana, sans-serif">#par(new=T)</font></div><div><font face="verdana, sans-serif"># crea la barra de caps$PersonasRCGV, pero cambia los ejes porque el resultado gráfico no es</font></div>

<div><font face="verdana, sans-serif"># coherente con los valores (caps$PersonasRCVG siempre es un valor menor que caps$personas...)</font></div><div><font face="verdana, sans-serif">barplot(caps$PersonasRCVG, axes=F, ann=F,</font></div>

<div><font face="verdana, sans-serif">        col="grey", border=F, space=.01, add=T)</font></div><div><font face="verdana, sans-serif">par(new=T)</font></div><div><font face="verdana, sans-serif">plot(caps$Con12Meses, axes=F, ann=F, type="n")</font></div>

<div><font face="verdana, sans-serif">points(caps$Con12Meses,type="l",col="black")       # Crea la línea paracaps$Con12Meses (por la cual quiero ordenar)</font></div><div><font face="verdana, sans-serif">points(caps$Con12Meses,  pch=16, col="black")      # agrega puntos negros rellenos a la línea</font></div>

<div><font face="verdana, sans-serif">par(new=T)</font></div><div><font face="verdana, sans-serif">plot(caps$prevalencia, axes=F, ann=F, type="n")</font></div><div><font face="verdana, sans-serif">axis(4, col.axis="tomato", col.lab="black" )                         # Crea el eje secundario </font></div>

<div><font face="verdana, sans-serif">#points(caps$prevalencia,type="l",col="red")       # Crea la línea sobre el eje secundario</font></div><div><font face="verdana, sans-serif">#points(caps$prevalencia,  pch=16, col="red")      # agrega puntos rojos rellenos a la línea</font></div>

<div><font face="verdana, sans-serif">points(caps$prevalencia,  type="b", pch=16, col="red")</font></div><div><font face="verdana, sans-serif">text(caps$prevalencia, labels=paste(caps$prevalencia), pos=3, col="red", )</font></div>

<div><font face="verdana, sans-serif"># si se quiere poner la prevalencia en el gráfico.</font></div><div><font face="verdana, sans-serif">box()</font></div></div><div><font face="verdana, sans-serif"> ######################### FIN ######################</font></div>

<div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">Saludos,</font></div><div><font face="verdana, sans-serif">Carlos Ortega</font></div>

<div><font face="verdana, sans-serif"><a href="http://www.qualityexcellence.es" target="_blank">www.qualityexcellence.es</a></font></div><div><br><div class="gmail_quote">El 31 de octubre de 2012 14:53, Mauricio Monsalvo <span dir="ltr"><<a href="mailto:m.monsalvo@gmail.com" target="_blank">m.monsalvo@gmail.com</a>></span> escribió:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Muchas gracias a todos!<br>Todas las soluciones me resultaron útiles. Comparto que la clave era el add=T para la segunda barra. Me quedó pendiente ordenar el gráfico por la línea de Con12Meses (que va sobre el primer eje) y ahora noto que me faltan las referencias. ¿Es lo mismo que ponerlas en uno? ¿Pero en cuál?<br>


Mauricio<br> <br><br><br><div class="gmail_quote">El 31 de octubre de 2012 06:52, Carlos Ortega <span dir="ltr"><<a href="mailto:cof@qualityexcellence.es" target="_blank">cof@qualityexcellence.es</a>></span> escribió:<div>

<div><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><font face="verdana, sans-serif">Hola,</font><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">Incluyo todo el código destacando algunas mejoras que creo que añaden coherencia a lo que se representa en cada eje, además de alguna mejora estética.</font></div>



<div><font face="verdana, sans-serif"><br></font></div><div><div><font face="verdana, sans-serif">########################################################</font></div><div><font face="verdana, sans-serif">par(<b><font color="#ff6666">mar=c(4,4,4,4)</font></b>,            #</font></div>


<div>
<div><font face="verdana, sans-serif">    omi=c(0.1,0.1,0.1,0.1),    #</font></div><div><font face="verdana, sans-serif">    las=1,                     #</font></div><div><font face="verdana, sans-serif">    mex=0.5,                   #</font></div>



<div><font face="verdana, sans-serif">    cex.lab = 1,               #</font></div><div><font face="verdana, sans-serif">    cex.axis=0.7)              # el tamaño de las leyendas</font></div><div><font face="verdana, sans-serif"><br>



</font></div></div><div><font face="verdana, sans-serif">########################</font></div><div><font face="verdana, sans-serif"># Barplots - Eje Primario</font></div><div><font face="verdana, sans-serif">barplot(</font></div>



<div><font face="verdana, sans-serif">        caps$personas,</font></div><div><font face="verdana, sans-serif">        <a href="http://names.ar" target="_blank">names.ar</a>=caps$CAPS,</font></div><div><font face="verdana, sans-serif">        col="blue", border=F, space=.01,<b><font color="#ff6666"> axes=F, ylim=c(0, 1.20*max(caps$personas)</font></b>)</font></div>



<div><font face="verdana, sans-serif">        )</font></div><div><font color="#ff6666" face="verdana, sans-serif"><b>axis(2, col.axis="blue") # Separo el eje para darle color azul como el del barplot.1</b></font></div>



<div><font face="verdana, sans-serif"><b style="color:rgb(255,102,102)">#</b>par(new=T)</font></div><div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif"># crea la barra de caps$PersonasRCGV, pero cambia los ejes porque el resultado gráfico no es</font></div>



</div><div><font face="verdana, sans-serif"># coherente con los valores (caps$PersonasRCVG siempre es un valor menor que caps$personas...)</font></div><div><font face="verdana, sans-serif">barplot(caps$PersonasRCVG, axes=F, ann=F,</font></div>


<div>
<div><font face="verdana, sans-serif">        col="grey", border=F, space=.01, <b><font color="#ff6666">add=T)</font></b></font></div><div><font face="verdana, sans-serif"><br></font></div></div><div><font face="verdana, sans-serif">#######################</font></div>



<div><font face="verdana, sans-serif"># Líneas - Eje Secundario</font></div><div><div><font face="verdana, sans-serif">par(new=T)</font></div><div><font face="verdana, sans-serif">plot(caps$Con12Meses, axes=F, ann=F, type="n")</font></div>



</div><div><font face="verdana, sans-serif"><b style="color:rgb(255,102,102)">#</b>points(caps$Con12Meses,type="l",col="black")       # Crea la línea paracaps$Con12Meses (por la cual quiero ordenar)</font></div>



<div><font face="verdana, sans-serif"><b style="color:rgb(255,102,102)">#</b>points(caps$Con12Meses,  pch=16, col="black")<b style="color:rgb(255,102,102)">  </b>    # agrega puntos negros rellenos a la línea</font></div>



<div><span style="font-family:verdana,sans-serif"><b><font color="#ff6666">points(caps$Con12Meses,  pch=16, col="black")  # Los dos pasos anteriores los puedo hacer en uno.</font></b></span></div><div>
<div><font face="verdana, sans-serif">par(new=T)</font></div>
<div><font face="verdana, sans-serif">plot(caps$prevalencia, axes=F, ann=F, type="n")</font></div></div><div><font face="verdana, sans-serif"><b><font color="#ff6666">axis(4, col.axis="tomato", col.lab="black" )   </font></b>                      # Crea el eje secundario  <b><font color="#ff6666">y le doy color rojo como una de las líneas. </font></b></font></div>



<div><font face="verdana, sans-serif"><b style="color:rgb(255,102,102)">#</b>points(caps$prevalencia,type="l",col="red")       # Crea la línea sobre el eje secundario</font></div><div><font face="verdana, sans-serif"><font style="font-weight:bold" color="#ff6666">#</font>points(caps$prevalencia,  pch=16, col="red")      # agrega puntos rojos rellenos a la línea</font></div>



<div><font color="#ff6666" face="verdana, sans-serif"><b>points(caps$prevalencia,  type="b", pch=16, col="red") </b></font><b style="font-family:verdana,sans-serif"><font color="#ff6666"># Los dos pasos anteriores los puedo hacer en uno.</font></b></div>


<div>
<div><font face="verdana, sans-serif">text(caps$prevalencia, labels=paste(caps$prevalencia), pos=3, col="red", )</font></div><div><font face="verdana, sans-serif"># si se quiere poner la prevalencia en el gráfico.</font></div>



</div><div><font color="#ff6666" face="verdana, sans-serif"><b>box()</b></font></div></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">########################################################</font></div>



<div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">Saludos,</font></div><div><font face="verdana, sans-serif">Carlos Ortega</font></div>



<div><font face="verdana, sans-serif"><a href="http://www.qualityexcellence.es" target="_blank">www.qualityexcellence.es</a><br></font><br><div class="gmail_quote">El 31 de octubre de 2012 10:24, Xavi de Blas <span dir="ltr"><<a href="mailto:xaviblas@gmail.com" target="_blank">xaviblas@gmail.com</a>></span> escribió:<div>


<div><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Perdón por el autobombo pero aquí tengo un gráfico con 4 variables que<br>
me satisface:<br>
<br>
<a href="http://chronojump.org/server/images/tf_by_level_sex_jumptype.png" target="_blank">http://chronojump.org/server/images/tf_by_level_sex_jumptype.png</a><br>
<br>
el código está aquí:<br>
<br>
<a href="http://git.gnome.org/browse/chronojump/tree/chronojump_server/r-sqlite/tf_by_level_sex_jumptype.R" target="_blank">http://git.gnome.org/browse/chronojump/tree/chronojump_server/r-sqlite/tf_by_level_sex_jumptype.R</a><br>




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

</div></div></div></blockquote></div><br><br clear="all"><br>-- <br>Mauricio<br>