<div dir="ltr">Prueba algo así:<div><br></div><div><div>library(ggplot2)</div><div><br></div><div>datos <- read.table("Downloads/pec.csv", header = T, sep = ";", dec = ",")</div><div>datos$Miles <- as.numeric(gsub("\\.", "", as.character(datos$Miles)))</div><div><br></div><div>datos$hora <- strptime(datos$hora, format = "%H:%M")</div><div><br></div><div>ggplot(datos, aes(x = hora, y = Miles)) + geom_line() + </div><div>  scale_x_datetime(date_breaks = "15 mins", date_labels = "%H:%M")</div></div><div><br></div><div><br></div><div>Además, en aes no hay que hacer referencia a la tabla. Expresiones como </div><div><br></div><div>ggplot(datos, aes(x = datos$hora, y = datos$Miles)) + ...<br></div><div><br></div><div>son innecesariamente redundantes.</div><div><br></div><div>Salud,</div><div><br></div><div>Carlos J. Gil Bellosta</div><div><a href="http://www.datanalytics.com">http://www.datanalytics.com</a></div></div><div class="gmail_extra"><br><div class="gmail_quote">El 3 de septiembre de 2016, 18:14, Ruben Tobalina Ramirez <span dir="ltr"><<a href="mailto:lagrimaescrita@gmail.com" target="_blank">lagrimaescrita@gmail.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>Buenas tardes!<br><br></div>uau! Muchas gracias!! He estado trabajando esta mañana y no he podido responder antes, aunque esta madrugada antes de ir a currar los he probado. Es sorprende como R saca de quicio, probé tus scripts con el csv que mandé y va perfecto. Luego pruebo con mis datos - haciendo los cambios correspondientes - y R me fusila a errores:D<br></div><br></div>De hecho el segundo gráfico - el del share - no sale con los consiguientes errores -dependiendo la la variable que use (Share o miles): <br><b>Error: Discrete value supplied to continuous scale<br>geom_path: Each group consists of only one observation. Do you need to adjust the group<br>aesthetic?<br></b><div><div><div><div><br></div><div>Modifique el código tal que así:<br><br>ggbar<-ggplot(ft, aes(x=ft$hora, y=ft$frec)) + <br>  geom_bar(stat="identity", width = 0.8, fill="gray") +<br>  theme(panel.background = element_rect(fill = "white")) +<br>  scale_y_continuous(limits=c(0,<wbr>1500))<br>ggline<-ggplot(ft, aes(x=ft$hora, y=ft$Miles)) + <br>  geom_line()+<br>  theme(panel.background = element_rect(fill = "white")) +<br>  scale_y_continuous(limits=c(0,<wbr>1500))<br><br>library(gridExtra)<br>grid.arrange(ggbar, ggline, nrow=2, ncol=1)</div><br></div><div>No entendí muy bien por qué no indicabas en el eje x las horas. Entiendo que esta hecho a propósito, y por eso supongo que me da el primer error, pero no entiendo porque. Gráficando por ejemplo los tweets no hay problema:<br><img alt="Imágenes integradas 2" src="cid:ii_156f0d24cc604386" height="459" width="475"><br><br></div><div>Por cierto, hay alguna forma que no sea poniendo "a mano" como indicabas en el correo, de poner los minutos más claro, a lo mejor de 5 en 5, o algo así?<br><br></div><div>Un saludo!<br> </div><div><div><br></div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">El 3 de septiembre de 2016, 0:12, Carlos Ortega <span dir="ltr"><<a href="mailto:cof@qualityexcellence.es" target="_blank">cof@qualityexcellence.es</a>></span> escribió:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">Y bueno, algo más bonito sí que queda con ggplot...</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">#---------------</div><div class="gmail_default"><span><div class="gmail_default"><font face="verdana, sans-serif">datIn <- read.csv("pec.csv", header = TRUE, sep = ";", dec = ",")</font></div><div class="gmail_default"><font face="verdana, sans-serif"><br></font></div></span><div class="gmail_default"><font face="verdana, sans-serif">library(ggplot2)</font></div><div class="gmail_default"><font face="verdana, sans-serif">lab_x_idx <- c(1, round(nrow(datIn)/2, 0), nrow(datIn))</font></div><div class="gmail_default"><font face="verdana, sans-serif">lab_x <- as.vector(datIn$hora[ lab_x_idx])</font></div><div class="gmail_default"><font face="verdana, sans-serif">fre_gg <- ggplot( datIn, aes( x = 1:nrow(datIn),   y = frec)) + </font></div><div class="gmail_default"><font face="verdana, sans-serif">             geom_bar(stat = "identity") +</font></div><div class="gmail_default"><font face="verdana, sans-serif">             xlab(paste("Rango horas: ", datIn$hora[1], "-", datIn$hora[nrow(datIn)], sep = "") ) +</font></div><div class="gmail_default"><font face="verdana, sans-serif">             ylab("Frecuencia") +</font></div><div class="gmail_default"><font face="verdana, sans-serif">             scale_x_continuous( breaks = lab_x_idx, labels = lab_x ) + </font></div><div class="gmail_default"><font face="verdana, sans-serif">             theme_minimal()</font></div><div class="gmail_default"><font face="verdana, sans-serif">sha_gg <- ggplot( datIn , aes(x = 1:nrow(datIn), y = Share)) +</font></div><div class="gmail_default"><font face="verdana, sans-serif">                 geom_line() +</font></div><div class="gmail_default"><font face="verdana, sans-serif">                 xlab(paste("Rango horas: ", datIn$hora[1], "-", datIn$hora[nrow(datIn)], sep = "") ) +</font></div><div class="gmail_default"><font face="verdana, sans-serif">                 ylab("Share") +</font></div><div class="gmail_default"><font face="verdana, sans-serif">                 ylim(0, max(datIn$Share)*1.10) +</font></div><div class="gmail_default"><font face="verdana, sans-serif">                 scale_x_continuous( breaks = lab_x_idx, labels = lab_x ) + </font></div><div class="gmail_default"><font face="verdana, sans-serif">                 theme_minimal()</font></div><div class="gmail_default"><font face="verdana, sans-serif">library(gridExtra)</font></div><div class="gmail_default"><font face="verdana, sans-serif">grid.arrange(fre_gg, sha_gg, nrow=2, ncol=1)</font></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div></div><div class="gmail_default" style="font-family:verdana,sans-serif">#---------------</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Saludos,</div><div class="gmail_default" style="font-family:verdana,sans-serif">Carlos Ortega</div><div class="gmail_default" style="font-family:verdana,sans-serif"><a href="http://www.qualityexcellence.es" target="_blank">www.qualityexcellence.es</a></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div></div></div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">El 2 de septiembre de 2016, 21:47, Carlos Ortega <span dir="ltr"><<a href="mailto:cof@qualityexcellence.es" target="_blank">cof@qualityexcellence.es</a>></span> escribió:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div class="h5"><div class="gmail_default" style="font-family:verdana,sans-serif">Hola,</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Aproximación muy sencillita...con gráficos "base":</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">#-----------------</div><div class="gmail_default"><div class="gmail_default"><font face="verdana, sans-serif"><br></font></div><div class="gmail_default"><font face="verdana, sans-serif">datIn <- read.csv("pec.csv", header = TRUE, sep = ";", dec = ",")</font></div><div class="gmail_default"><font face="verdana, sans-serif"><br></font></div><div class="gmail_default"><font face="verdana, sans-serif">par(mfrow = c(2,1))</font></div><div class="gmail_default"><font face="verdana, sans-serif">barplot(</font></div><div class="gmail_default"><font face="verdana, sans-serif">          datIn$frec</font></div><div class="gmail_default"><font face="verdana, sans-serif">         ,las = 1</font></div><div class="gmail_default"><font face="verdana, sans-serif">         ,col = "green"</font></div><div class="gmail_default"><font face="verdana, sans-serif">         ,cex.axis = 0.7, col.axis = "red", font.axis = 2</font></div><div class="gmail_default"><font face="verdana, sans-serif">         ,main = "Frequency"</font></div><div class="gmail_default"><font face="verdana, sans-serif">        )</font></div><div class="gmail_default"><font face="verdana, sans-serif">box()</font></div><div class="gmail_default"><font face="verdana, sans-serif">plot( </font></div><div class="gmail_default"><font face="verdana, sans-serif">      datIn$Share</font></div><div class="gmail_default"><font face="verdana, sans-serif">     ,type = "b"</font></div><div class="gmail_default"><font face="verdana, sans-serif">     ,col = "blue", bg = "blue", col.axis = "red", font.axis = 2</font></div><div class="gmail_default"><font face="verdana, sans-serif">     ,cex = 0.7</font></div><div class="gmail_default"><font face="verdana, sans-serif">     ,cex.axis = 0.7</font></div><div class="gmail_default"><font face="verdana, sans-serif">     ,las = 1</font></div><div class="gmail_default"><font face="verdana, sans-serif">     ,main = "Share", ylab = "", xlab = ""</font></div><div class="gmail_default"><font face="verdana, sans-serif">     ,ylim = c(0, 1.10*max(datIn$Share))</font></div><div class="gmail_default"><font face="verdana, sans-serif">    )</font></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div></div><div class="gmail_default" style="font-family:verdana,sans-serif">#-----------------</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Yo haría la representación por separado, mejor que un gráfico con doble eje.</div><div class="gmail_default" style="font-family:verdana,sans-serif">Pero si quieres hacer un gráfico de doble eje:</div><div class="gmail_default"><font face="verdana, sans-serif"><a href="http://ellisp.github.io/blog/2016/08/28/dualaxes2" target="_blank">http://ellisp.github.io/blog/2<wbr>016/08/28/dualaxes2</a></font><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Y como referencia para hacer gráficos (en español):</div><div class="gmail_default"><font face="verdana, sans-serif"><a href="https://www.amazon.es/Gr%C3%A1ficos-Estad%C3%ADsticos-Castor-Guisande-Gonz%C3%A1lez/dp/8499692117/ref=sr_1_1?ie=UTF8&qid=1472845192&sr=8-1&keywords=graficos+en+R" target="_blank">https://www.amazon.es/Gráficos<wbr>-Estadísticos-Castor-Guisande-<wbr>González/dp/8499692117/ref=sr_<wbr>1_1?ie=UTF8&qid=1472845192&sr=<wbr>8-1&keywords=graficos+en+R</a></font><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div></div></div><span class=""><div class="gmail_default" style="font-family:verdana,sans-serif">Nota: Si quieres incluir las horas minutos en el eje "X" de cualquiera de los dos gráficos:</div><div class="gmail_default"><font face="verdana, sans-serif"><a href="http://stackoverflow.com/questions/5182238/r-replace-x-axis-with-own-values" target="_blank">http://stackoverflow.com/quest<wbr>ions/5182238/r-replace-x-axis-<wbr>with-own-values</a></font></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Saludos,</div><div class="gmail_default" style="font-family:verdana,sans-serif">Carlos Ortega</div><div class="gmail_default" style="font-family:verdana,sans-serif"><a href="http://www.qualityexcellence.es" target="_blank">www.qualityexcellence.es</a></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div></span><div class="gmail_extra"><br><div class="gmail_quote"><span class=""><div><div>El 2 de septiembre de 2016, 20:25, Ruben Tobalina Ramirez <span dir="ltr"><<a href="mailto:lagrimaescrita@gmail.com" target="_blank">lagrimaescrita@gmail.com</a>></span> escribió:<br></div></div></span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div><div><div><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><span class=""><div>Buenas tardes,<br><br>Tengo una duda con gráficos. Estoy intentando realizar el típico gráfico de una variable en histograma y otra en linea, supongo que será sencillo pero llevo unos días peleando y no me sale de forma correcta.<br><br></div>Las variables están en un dataframe que muestran las frecuencias de tweets minuto a minuto y el share de esos minutos (os adjunto un archivo en csv con el dataframe).<br><br>Una muestra del data frame:<br><br></span><span class=""><i>   hora frec Miles Share  <br>1 20:22   87 1.016  13,0                          <wbr>                              <wbr>                        <br>2 20:23  123 1.031  13,3<br>3 20:24  153 1.048  13,5  <br>4 20:25  192 1.165  15,0  <br>5 20:26  175 1.239  15,8 <br>6 20:27  225 1.331  17,0    <br></i></span><div><br>He probado con <b>plot</b> y el parámetro <i>new</i> sin éxito, y ahora estaba probando con <b>ggplot</b>:<span class=""><br><br><i>ggplot(ft, aes(ft[,2:3])) + <br>  geom_bar(aes(ft[,2]), colour="black", fill = "orange") + <br>  geom_line(aes(x=ft$hora,y=ft[,<wbr>3]), colour="black") </i><br clear="all"><br></span></div><span class=""><div>Se me muestran las variables pero de forma incorrecta. ¿Alguna sugerencia?<br></div><div>De paso, me podéis indicar algún manual para aprender a realizar gráficos con R?<br><br></div><div>Muchas gracias!<br><br>Un saludo!!! <br></div><span></span><br></span></div></div><br>-- <br><div><div dir="ltr">Rubén.<br></div></div>
</div>
</div></div><br></div></div><span class="">______________________________<wbr>_________________<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" rel="noreferrer" target="_blank">https://stat.ethz.ch/mailman/l<wbr>istinfo/r-help-es</a><span><font color="#888888"><br></font></span></span></blockquote></div><span class=""><span><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div><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></div>
</font></span></span></div></div>
</blockquote></div><span class=""><br><br clear="all"><div><br></div>-- <br><div data-smartmail="gmail_signature"><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></div>
</span></div><span class="HOEnZb"><font color="#888888">
</font></span></div></div></blockquote></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><br>-- <br><div data-smartmail="gmail_signature"><div dir="ltr">Rubén.<br></div></div>
</font></span></div>
<br>______________________________<wbr>_________________<br>
R-help-es mailing list<br>
<a href="mailto:R-help-es@r-project.org">R-help-es@r-project.org</a><br>
<a href="https://stat.ethz.ch/mailman/listinfo/r-help-es" rel="noreferrer" target="_blank">https://stat.ethz.ch/mailman/<wbr>listinfo/r-help-es</a><br></blockquote></div><br></div>