Carlos J. Gil Bellosta
2016-Sep-03 17:11 UTC
[R-es] Ayuda con gráfico típico de histograma más linea
Prueba algo así: library(ggplot2) datos <- read.table("Downloads/pec.csv", header = T, sep = ";", dec = ",") datos$Miles <- as.numeric(gsub("\\.", "", as.character(datos$Miles))) datos$hora <- strptime(datos$hora, format = "%H:%M") ggplot(datos, aes(x = hora, y = Miles)) + geom_line() + scale_x_datetime(date_breaks = "15 mins", date_labels = "%H:%M") Además, en aes no hay que hacer referencia a la tabla. Expresiones como ggplot(datos, aes(x = datos$hora, y = datos$Miles)) + ... son innecesariamente redundantes. Salud, Carlos J. Gil Bellosta http://www.datanalytics.com El 3 de septiembre de 2016, 18:14, Ruben Tobalina Ramirez < lagrimaescrita en gmail.com> escribió:> Buenas tardes! > > 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 > > De hecho el segundo gráfico - el del share - no sale con los consiguientes > errores -dependiendo la la variable que use (Share o miles): > > > > *Error: Discrete value supplied to continuous scalegeom_path: Each group > consists of only one observation. Do you need to adjust the groupaesthetic?* > > Modifique el código tal que así: > > ggbar<-ggplot(ft, aes(x=ft$hora, y=ft$frec)) + > geom_bar(stat="identity", width = 0.8, fill="gray") + > theme(panel.background = element_rect(fill = "white")) + > scale_y_continuous(limits=c(0,1500)) > ggline<-ggplot(ft, aes(x=ft$hora, y=ft$Miles)) + > geom_line()+ > theme(panel.background = element_rect(fill = "white")) + > scale_y_continuous(limits=c(0,1500)) > > library(gridExtra) > grid.arrange(ggbar, ggline, nrow=2, ncol=1) > > 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: > [image: Imágenes integradas 2] > > 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í? > > Un saludo! > > > El 3 de septiembre de 2016, 0:12, Carlos Ortega <cof en qualityexcellence.es> > escribió: > >> Y bueno, algo más bonito sí que queda con ggplot... >> >> #--------------- >> datIn <- read.csv("pec.csv", header = TRUE, sep = ";", dec = ",") >> >> library(ggplot2) >> lab_x_idx <- c(1, round(nrow(datIn)/2, 0), nrow(datIn)) >> lab_x <- as.vector(datIn$hora[ lab_x_idx]) >> fre_gg <- ggplot( datIn, aes( x = 1:nrow(datIn), y = frec)) + >> geom_bar(stat = "identity") + >> xlab(paste("Rango horas: ", datIn$hora[1], "-", >> datIn$hora[nrow(datIn)], sep = "") ) + >> ylab("Frecuencia") + >> scale_x_continuous( breaks = lab_x_idx, labels = lab_x ) + >> theme_minimal() >> sha_gg <- ggplot( datIn , aes(x = 1:nrow(datIn), y = Share)) + >> geom_line() + >> xlab(paste("Rango horas: ", datIn$hora[1], "-", >> datIn$hora[nrow(datIn)], sep = "") ) + >> ylab("Share") + >> ylim(0, max(datIn$Share)*1.10) + >> scale_x_continuous( breaks = lab_x_idx, labels = lab_x ) >> + >> theme_minimal() >> library(gridExtra) >> grid.arrange(fre_gg, sha_gg, nrow=2, ncol=1) >> >> #--------------- >> >> Saludos, >> Carlos Ortega >> www.qualityexcellence.es >> >> >> >> El 2 de septiembre de 2016, 21:47, Carlos Ortega < >> cof en qualityexcellence.es> escribió: >> >>> Hola, >>> >>> Aproximación muy sencillita...con gráficos "base": >>> >>> #----------------- >>> >>> datIn <- read.csv("pec.csv", header = TRUE, sep = ";", dec = ",") >>> >>> par(mfrow = c(2,1)) >>> barplot( >>> datIn$frec >>> ,las = 1 >>> ,col = "green" >>> ,cex.axis = 0.7, col.axis = "red", font.axis = 2 >>> ,main = "Frequency" >>> ) >>> box() >>> plot( >>> datIn$Share >>> ,type = "b" >>> ,col = "blue", bg = "blue", col.axis = "red", font.axis = 2 >>> ,cex = 0.7 >>> ,cex.axis = 0.7 >>> ,las = 1 >>> ,main = "Share", ylab = "", xlab = "" >>> ,ylim = c(0, 1.10*max(datIn$Share)) >>> ) >>> >>> #----------------- >>> >>> Yo haría la representación por separado, mejor que un gráfico con doble >>> eje. >>> Pero si quieres hacer un gráfico de doble eje: >>> http://ellisp.github.io/blog/2016/08/28/dualaxes2 >>> >>> Y como referencia para hacer gráficos (en español): >>> https://www.amazon.es/Gráficos-Estadísticos-Castor-Guisande- >>> González/dp/8499692117/ref=sr_1_1?ie=UTF8&qid=1472845192&sr>>> 8-1&keywords=graficos+en+R >>> <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> >>> >>> Nota: Si quieres incluir las horas minutos en el eje "X" de cualquiera >>> de los dos gráficos: >>> http://stackoverflow.com/questions/5182238/r-replace-x-axis- >>> with-own-values >>> >>> Saludos, >>> Carlos Ortega >>> www.qualityexcellence.es >>> >>> >>> El 2 de septiembre de 2016, 20:25, Ruben Tobalina Ramirez < >>> lagrimaescrita en gmail.com> escribió: >>> >>>> Buenas tardes, >>>> >>>> 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. >>>> >>>> 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). >>>> >>>> Una muestra del data frame: >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> * hora frec Miles Share 1 20:22 87 1.016 >>>> 13,0 >>>> 2 20:23 123 1.031 13,33 20:24 153 1.048 13,5 4 20:25 192 1.165 15,0 >>>> 5 20:26 175 1.239 15,8 6 20:27 225 1.331 17,0 * >>>> >>>> He probado con *plot* y el parámetro *new* sin éxito, y ahora estaba >>>> probando con *ggplot*: >>>> >>>> >>>> >>>> *ggplot(ft, aes(ft[,2:3])) + geom_bar(aes(ft[,2]), colour="black", >>>> fill = "orange") + geom_line(aes(x=ft$hora,y=ft[,3]), colour="black") * >>>> >>>> Se me muestran las variables pero de forma incorrecta. ¿Alguna >>>> sugerencia? >>>> De paso, me podéis indicar algún manual para aprender a realizar >>>> gráficos con R? >>>> >>>> Muchas gracias! >>>> >>>> Un saludo!!! >>>> >>>> >>>> -- >>>> Rubén. >>>> >>>> _______________________________________________ >>>> 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 >>> >> >> >> >> -- >> Saludos, >> Carlos Ortega >> www.qualityexcellence.es >> > > > > -- > Rubén. > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20160903/64d5d17d/attachment-0001.html> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 16429 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20160903/64d5d17d/attachment-0001.png>
Ruben Tobalina Ramirez
2016-Sep-03 21:52 UTC
[R-es] Ayuda con gráfico típico de histograma más linea
Muchas gracias a todos! Pues si, Eric, R a veces me vuelve loco, tiene una lógica muy particular. Miraré el libro, que lattice no lo he usado nunca. Gracias Carlos, con tu ejemplo creo que he conseguido hacer el grafico que queria. Muchas gracias! Os debo una caña un dia de estos - a los madrileños- en las reuniones de Medialab. Este año os seguireis reuniendo en Medialab? Un abrazo! Prueba algo así: library(ggplot2) datos <- read.table("Downloads/pec.csv", header = T, sep = ";", dec = ",") datos$Miles <- as.numeric(gsub("\\.", "", as.character(datos$Miles))) datos$hora <- strptime(datos$hora, format = "%H:%M") ggplot(datos, aes(x = hora, y = Miles)) + geom_line() + scale_x_datetime(date_breaks = "15 mins", date_labels = "%H:%M") Además, en aes no hay que hacer referencia a la tabla. Expresiones como ggplot(datos, aes(x = datos$hora, y = datos$Miles)) + ... son innecesariamente redundantes. Salud, Carlos J. Gil Bellosta http://www.datanalytics.com El 3 de septiembre de 2016, 18:14, Ruben Tobalina Ramirez < lagrimaescrita en gmail.com> escribió:> Buenas tardes! > > 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 > > De hecho el segundo gráfico - el del share - no sale con los consiguientes > errores -dependiendo la la variable que use (Share o miles): > > > > *Error: Discrete value supplied to continuous scalegeom_path: Each group > consists of only one observation. Do you need to adjust the groupaesthetic?* > > Modifique el código tal que así: > > ggbar<-ggplot(ft, aes(x=ft$hora, y=ft$frec)) + > geom_bar(stat="identity", width = 0.8, fill="gray") + > theme(panel.background = element_rect(fill = "white")) + > scale_y_continuous(limits=c(0,1500)) > ggline<-ggplot(ft, aes(x=ft$hora, y=ft$Miles)) + > geom_line()+ > theme(panel.background = element_rect(fill = "white")) + > scale_y_continuous(limits=c(0,1500)) > > library(gridExtra) > grid.arrange(ggbar, ggline, nrow=2, ncol=1) > > 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: > [image: Imágenes integradas 2] > > 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í? > > Un saludo! > > > El 3 de septiembre de 2016, 0:12, Carlos Ortega <cof en qualityexcellence.es> > escribió: > >> Y bueno, algo más bonito sí que queda con ggplot... >> >> #--------------- >> datIn <- read.csv("pec.csv", header = TRUE, sep = ";", dec = ",") >> >> library(ggplot2) >> lab_x_idx <- c(1, round(nrow(datIn)/2, 0), nrow(datIn)) >> lab_x <- as.vector(datIn$hora[ lab_x_idx]) >> fre_gg <- ggplot( datIn, aes( x = 1:nrow(datIn), y = frec)) + >> geom_bar(stat = "identity") + >> xlab(paste("Rango horas: ", datIn$hora[1], "-", >> datIn$hora[nrow(datIn)], sep = "") ) + >> ylab("Frecuencia") + >> scale_x_continuous( breaks = lab_x_idx, labels = lab_x ) + >> theme_minimal() >> sha_gg <- ggplot( datIn , aes(x = 1:nrow(datIn), y = Share)) + >> geom_line() + >> xlab(paste("Rango horas: ", datIn$hora[1], "-", >> datIn$hora[nrow(datIn)], sep = "") ) + >> ylab("Share") + >> ylim(0, max(datIn$Share)*1.10) + >> scale_x_continuous( breaks = lab_x_idx, labels = lab_x ) >> + >> theme_minimal() >> library(gridExtra) >> grid.arrange(fre_gg, sha_gg, nrow=2, ncol=1) >> >> #--------------- >> >> Saludos, >> Carlos Ortega >> www.qualityexcellence.es >> >> >> >> El 2 de septiembre de 2016, 21:47, Carlos Ortega < >> cof en qualityexcellence.es> escribió: >> >>> Hola, >>> >>> Aproximación muy sencillita...con gráficos "base": >>> >>> #----------------- >>> >>> datIn <- read.csv("pec.csv", header = TRUE, sep = ";", dec = ",") >>> >>> par(mfrow = c(2,1)) >>> barplot( >>> datIn$frec >>> ,las = 1 >>> ,col = "green" >>> ,cex.axis = 0.7, col.axis = "red", font.axis = 2 >>> ,main = "Frequency" >>> ) >>> box() >>> plot( >>> datIn$Share >>> ,type = "b" >>> ,col = "blue", bg = "blue", col.axis = "red", font.axis = 2 >>> ,cex = 0.7 >>> ,cex.axis = 0.7 >>> ,las = 1 >>> ,main = "Share", ylab = "", xlab = "" >>> ,ylim = c(0, 1.10*max(datIn$Share)) >>> ) >>> >>> #----------------- >>> >>> Yo haría la representación por separado, mejor que un gráfico con doble >>> eje. >>> Pero si quieres hacer un gráfico de doble eje: >>> http://ellisp.github.io/blog/2016/08/28/dualaxes2 >>> >>> Y como referencia para hacer gráficos (en español): >>> https://www.amazon.es/Gráficos-Estadísticos-Castor-Guisande- >>> González/dp/8499692117/ref=sr_1_1?ie=UTF8&qid=1472845192&sr>>> 8-1&keywords=graficos+en+R >>> <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> >>> >>> Nota: Si quieres incluir las horas minutos en el eje "X" de cualquiera >>> de los dos gráficos: >>> http://stackoverflow.com/questions/5182238/r-replace-x-axis- >>> with-own-values >>> >>> Saludos, >>> Carlos Ortega >>> www.qualityexcellence.es >>> >>> >>> El 2 de septiembre de 2016, 20:25, Ruben Tobalina Ramirez < >>> lagrimaescrita en gmail.com> escribió: >>> >>>> Buenas tardes, >>>> >>>> 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. >>>> >>>> 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). >>>> >>>> Una muestra del data frame: >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> * hora frec Miles Share 1 20:22 87 1.016 >>>> 13,0 >>>> 2 20:23 123 1.031 13,33 20:24 153 1.048 13,5 4 20:25 192 1.165 15,0 >>>> 5 20:26 175 1.239 15,8 6 20:27 225 1.331 17,0 * >>>> >>>> He probado con *plot* y el parámetro *new* sin éxito, y ahora estaba >>>> probando con *ggplot*: >>>> >>>> >>>> >>>> *ggplot(ft, aes(ft[,2:3])) + geom_bar(aes(ft[,2]), colour="black", >>>> fill = "orange") + geom_line(aes(x=ft$hora,y=ft[,3]), colour="black") * >>>> >>>> Se me muestran las variables pero de forma incorrecta. ¿Alguna >>>> sugerencia? >>>> De paso, me podéis indicar algún manual para aprender a realizar >>>> gráficos con R? >>>> >>>> Muchas gracias! >>>> >>>> Un saludo!!! >>>> >>>> >>>> -- >>>> Rubén. >>>> >>>> _______________________________________________ >>>> 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 >>> >> >> >> >> -- >> Saludos, >> Carlos Ortega >> www.qualityexcellence.es >> > > > > -- > Rubén. > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20160903/872cb828/attachment-0001.html> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 16429 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20160903/872cb828/attachment-0001.png>
Carlos J. Gil Bellosta
2016-Sep-03 21:55 UTC
[R-es] Ayuda con gráfico típico de histograma más linea
Sí, la primera reunión de la temporada será el 8 de este mes. Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El 3 de septiembre de 2016, 23:52, Ruben Tobalina Ramirez < lagrimaescrita en gmail.com> escribió:> Muchas gracias a todos! > > Pues si, Eric, R a veces me vuelve loco, tiene una lógica muy particular. > Miraré el libro, que lattice no lo he usado nunca. > > Gracias Carlos, con tu ejemplo creo que he conseguido hacer el grafico que > queria. > > Muchas gracias! Os debo una caña un dia de estos - a los madrileños- en > las reuniones de Medialab. Este año os seguireis reuniendo en Medialab? > > Un abrazo! > Prueba algo así: > > library(ggplot2) > > datos <- read.table("Downloads/pec.csv", header = T, sep = ";", dec = ",") > datos$Miles <- as.numeric(gsub("\\.", "", as.character(datos$Miles))) > > datos$hora <- strptime(datos$hora, format = "%H:%M") > > ggplot(datos, aes(x = hora, y = Miles)) + geom_line() + > scale_x_datetime(date_breaks = "15 mins", date_labels = "%H:%M") > > > Además, en aes no hay que hacer referencia a la tabla. Expresiones como > > ggplot(datos, aes(x = datos$hora, y = datos$Miles)) + ... > > son innecesariamente redundantes. > > Salud, > > Carlos J. Gil Bellosta > http://www.datanalytics.com > > El 3 de septiembre de 2016, 18:14, Ruben Tobalina Ramirez < > lagrimaescrita en gmail.com> escribió: > >> Buenas tardes! >> >> 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 >> >> De hecho el segundo gráfico - el del share - no sale con los >> consiguientes errores -dependiendo la la variable que use (Share o miles): >> >> >> >> *Error: Discrete value supplied to continuous scalegeom_path: Each group >> consists of only one observation. Do you need to adjust the groupaesthetic?* >> >> Modifique el código tal que así: >> >> ggbar<-ggplot(ft, aes(x=ft$hora, y=ft$frec)) + >> geom_bar(stat="identity", width = 0.8, fill="gray") + >> theme(panel.background = element_rect(fill = "white")) + >> scale_y_continuous(limits=c(0,1500)) >> ggline<-ggplot(ft, aes(x=ft$hora, y=ft$Miles)) + >> geom_line()+ >> theme(panel.background = element_rect(fill = "white")) + >> scale_y_continuous(limits=c(0,1500)) >> >> library(gridExtra) >> grid.arrange(ggbar, ggline, nrow=2, ncol=1) >> >> 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: >> [image: Imágenes integradas 2] >> >> 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í? >> >> Un saludo! >> >> >> El 3 de septiembre de 2016, 0:12, Carlos Ortega <cof en qualityexcellence.es >> > escribió: >> >>> Y bueno, algo más bonito sí que queda con ggplot... >>> >>> #--------------- >>> datIn <- read.csv("pec.csv", header = TRUE, sep = ";", dec = ",") >>> >>> library(ggplot2) >>> lab_x_idx <- c(1, round(nrow(datIn)/2, 0), nrow(datIn)) >>> lab_x <- as.vector(datIn$hora[ lab_x_idx]) >>> fre_gg <- ggplot( datIn, aes( x = 1:nrow(datIn), y = frec)) + >>> geom_bar(stat = "identity") + >>> xlab(paste("Rango horas: ", datIn$hora[1], "-", >>> datIn$hora[nrow(datIn)], sep = "") ) + >>> ylab("Frecuencia") + >>> scale_x_continuous( breaks = lab_x_idx, labels = lab_x ) + >>> theme_minimal() >>> sha_gg <- ggplot( datIn , aes(x = 1:nrow(datIn), y = Share)) + >>> geom_line() + >>> xlab(paste("Rango horas: ", datIn$hora[1], "-", >>> datIn$hora[nrow(datIn)], sep = "") ) + >>> ylab("Share") + >>> ylim(0, max(datIn$Share)*1.10) + >>> scale_x_continuous( breaks = lab_x_idx, labels = lab_x >>> ) + >>> theme_minimal() >>> library(gridExtra) >>> grid.arrange(fre_gg, sha_gg, nrow=2, ncol=1) >>> >>> #--------------- >>> >>> Saludos, >>> Carlos Ortega >>> www.qualityexcellence.es >>> >>> >>> >>> El 2 de septiembre de 2016, 21:47, Carlos Ortega < >>> cof en qualityexcellence.es> escribió: >>> >>>> Hola, >>>> >>>> Aproximación muy sencillita...con gráficos "base": >>>> >>>> #----------------- >>>> >>>> datIn <- read.csv("pec.csv", header = TRUE, sep = ";", dec = ",") >>>> >>>> par(mfrow = c(2,1)) >>>> barplot( >>>> datIn$frec >>>> ,las = 1 >>>> ,col = "green" >>>> ,cex.axis = 0.7, col.axis = "red", font.axis = 2 >>>> ,main = "Frequency" >>>> ) >>>> box() >>>> plot( >>>> datIn$Share >>>> ,type = "b" >>>> ,col = "blue", bg = "blue", col.axis = "red", font.axis = 2 >>>> ,cex = 0.7 >>>> ,cex.axis = 0.7 >>>> ,las = 1 >>>> ,main = "Share", ylab = "", xlab = "" >>>> ,ylim = c(0, 1.10*max(datIn$Share)) >>>> ) >>>> >>>> #----------------- >>>> >>>> Yo haría la representación por separado, mejor que un gráfico con doble >>>> eje. >>>> Pero si quieres hacer un gráfico de doble eje: >>>> http://ellisp.github.io/blog/2016/08/28/dualaxes2 >>>> >>>> Y como referencia para hacer gráficos (en español): >>>> https://www.amazon.es/Gráficos-Estadísticos-Castor-Guisande- >>>> González/dp/8499692117/ref=sr_1_1?ie=UTF8&qid=1472845192&sr>>>> 8-1&keywords=graficos+en+R >>>> <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> >>>> >>>> Nota: Si quieres incluir las horas minutos en el eje "X" de cualquiera >>>> de los dos gráficos: >>>> http://stackoverflow.com/questions/5182238/r-replace-x-axis- >>>> with-own-values >>>> >>>> Saludos, >>>> Carlos Ortega >>>> www.qualityexcellence.es >>>> >>>> >>>> El 2 de septiembre de 2016, 20:25, Ruben Tobalina Ramirez < >>>> lagrimaescrita en gmail.com> escribió: >>>> >>>>> Buenas tardes, >>>>> >>>>> 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. >>>>> >>>>> 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). >>>>> >>>>> Una muestra del data frame: >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> * hora frec Miles Share 1 20:22 87 1.016 >>>>> 13,0 >>>>> 2 20:23 123 1.031 13,33 20:24 153 1.048 13,5 4 20:25 192 1.165 15,0 >>>>> 5 20:26 175 1.239 15,8 6 20:27 225 1.331 17,0 * >>>>> >>>>> He probado con *plot* y el parámetro *new* sin éxito, y ahora estaba >>>>> probando con *ggplot*: >>>>> >>>>> >>>>> >>>>> *ggplot(ft, aes(ft[,2:3])) + geom_bar(aes(ft[,2]), colour="black", >>>>> fill = "orange") + geom_line(aes(x=ft$hora,y=ft[,3]), colour="black") * >>>>> >>>>> Se me muestran las variables pero de forma incorrecta. ¿Alguna >>>>> sugerencia? >>>>> De paso, me podéis indicar algún manual para aprender a realizar >>>>> gráficos con R? >>>>> >>>>> Muchas gracias! >>>>> >>>>> Un saludo!!! >>>>> >>>>> >>>>> -- >>>>> Rubén. >>>>> >>>>> _______________________________________________ >>>>> 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 >>>> >>> >>> >>> >>> -- >>> Saludos, >>> Carlos Ortega >>> www.qualityexcellence.es >>> >> >> >> >> -- >> Rubén. >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es en r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> > > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20160903/f6e190cc/attachment-0001.html> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 16429 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20160903/f6e190cc/attachment-0001.png>