Hola: Estoy intentando crear un gráfico con dos series de boxplots: El archivo Exponential.data tiene esta pinta: 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 27340 27829 27108 27387 28059 28977 29355 25977 28220 27049 27324 28446 25827 29820 25047 27026 26104 25472 27270 27202 27285 29765 26624 29713 29606 27165 29961 29435 29600 28686 29610 27341 29665 28623 26970 29245 25001 27048 28864 27818 29869 29894 25290 26908 27662 26201 28540 29290 28946 29653 28052 28529 27008 28291 29055 25062 28887 26217 27476 27892 29543 29935 29867 25031 29105 28034 25954 25088 29468 26502 26834 25136 Mientras que el Global.data es igual con distintos valores: 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 22727 24635 23759 21890 23044 24308 24218 23927 20445 21907 21092 20192 24666 24868 24208 24632 23864 23426 23265 21213 22469 21003 20774 23490 24612 21134 23861 22582 21314 20116 22178 23332 24276 21504 24045 24220 23373 20273 22561 20506 23039 23068 23847 23768 22926 20872 21294 20996 21449 21920 20343 20871 24014 22731 24327 21055 23525 20127 23735 23664 24462 22306 22179 24527 23402 20973 23285 22096 24588 21073 21506 20207 La idea sería comparar ambas series de datos, algo así: Exponential_frame=read.table("Exponential.data", header =T) Global_frame=read.table("Global.data", header =T) par(las=2,cex=1,mar=c(7.2,4,2,2)) boxplot(Exponential_frame, ylab="Number of executed queries", col="yellow") boxplot(Global_frame, ylab="Number of executed queries", col="green", add=TRUE) Por separado, cada una de las sentencias boxplot me produce el gráfico que quiero, pero mi idea es verlos en el mismo gráfico, el problema es que no me añade el gráfico generado por el segundo boxplot con el primer boxplot. un saludo y gracias por su ayuda. -- Dr. Félix Jesús Villanueva Molina Assistant Professor School of Computer Science Paseo de la Universidad, 4 13071 Ciudad Real (Spain) http://arco.esi.uclm.es
Hola Felix, Para conseguir varios gráficos en un mismo plot usa: par( mfrow = c( #filas, #columnas ) ) Si por ejemplo quieres un gráfico al lado de otro sería par( mfrow = c( 1, 2 ) ) Un saludo Patricia El 11 de octubre de 2010 12:49, Felix.Villanueva <felix.villanueva@uclm.es>escribió:> Hola: > > Estoy intentando crear un gráfico con dos series de boxplots: > > El archivo Exponential.data tiene esta pinta: > > 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 > 27340 27829 27108 27387 28059 28977 29355 25977 > 28220 27049 27324 28446 25827 29820 25047 27026 > 26104 25472 27270 27202 27285 29765 26624 29713 > 29606 27165 29961 29435 29600 28686 29610 27341 > 29665 28623 26970 29245 25001 27048 28864 27818 > 29869 29894 25290 26908 27662 26201 28540 29290 > 28946 29653 28052 28529 27008 28291 29055 25062 > 28887 26217 27476 27892 29543 29935 29867 25031 > 29105 28034 25954 25088 29468 26502 26834 25136 > > Mientras que el Global.data es igual con distintos valores: > > 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 > 22727 24635 23759 21890 23044 24308 24218 23927 > 20445 21907 21092 20192 24666 24868 24208 24632 > 23864 23426 23265 21213 22469 21003 20774 23490 > 24612 21134 23861 22582 21314 20116 22178 23332 > 24276 21504 24045 24220 23373 20273 22561 20506 > 23039 23068 23847 23768 22926 20872 21294 20996 > 21449 21920 20343 20871 24014 22731 24327 21055 > 23525 20127 23735 23664 24462 22306 22179 24527 > 23402 20973 23285 22096 24588 21073 21506 20207 > > La idea sería comparar ambas series de datos, algo así: > > Exponential_frame=read.table("Exponential.data", header =T) > Global_frame=read.table("Global.data", header =T) > > par(las=2,cex=1,mar=c(7.2,4,2,2)) > > boxplot(Exponential_frame, ylab="Number of executed queries", > col="yellow") > boxplot(Global_frame, ylab="Number of executed queries", > col="green", add=TRUE) > > Por separado, cada una de las sentencias boxplot me produce el > gráfico que quiero, pero mi idea es verlos en el mismo gráfico, el > problema es que no me añade el gráfico generado por el segundo boxplot > con el primer boxplot. > > un saludo y gracias por su ayuda. > > -- > Dr. Félix Jesús Villanueva Molina > Assistant Professor > School of Computer Science > Paseo de la Universidad, 4 > 13071 Ciudad Real (Spain) > http://arco.esi.uclm.es > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- [[alternative HTML version deleted]]
Hola Felix, puedes combinar los datos en un único data.frame y luego hacer todos los boxplot en un mismo gráfico:> # Exponential > etiqueta <- c(0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6) > datos.exp <- c(27340, 27829, 27108, 27387, 28059, 28977, 29355, 25977, 28220, 27049, 27324, 28446, 25827, 29820, 25047, 27026, 26104, 25472, 27270, 27202, 27285, 29765, 26624, 29713, 29606, 27165, 29961, 29435, 29600, 28686, 29610, 27341, 29665, 28623, 26970, 29245, 25001, 27048, 28864, 27818, 29869, 29894, 25290, 26908, 27662, 26201, 28540, 29290, 28946, 29653, 28052, 28529, 27008, 28291, 29055, 25062, 28887, 26217, 27476, 27892, 29543, 29935, 29867, 25031, 29105, 28034, 25954, 25088, 29468, 26502, 26834, 25136)> # Global > datos.gl <- c(22727, 24635, 23759, 21890, 23044, 24308, 24218, 23927, 20445, 21907, 21092, 20192, 24666, 24868, 24208, 24632, 23864, 23426, 23265, 21213, 22469, 21003, 20774, 23490, 24612, 21134, 23861, 22582, 21314, 20116, 22178, 23332, 24276, 21504, 24045, 24220, 23373, 20273, 22561, 20506, 23039, 23068, 23847, 23768, 22926, 20872, 21294, 20996, 21449, 21920, 20343, 20871, 24014, 22731, 24327, 21055, 23525, 20127, 23735, 23664, 24462, 22306, 22179, 24527, 23402, 20973, 23285, 22096, 24588, 21073, 21506, 20207)> datos <- data.frame(queries=c(datos.exp,datos.gl),expgl=factor(rep(c("Exp","Glo"),each=72)), etiq=factor(rep(etiqueta,18)))> boxplot(queries~expgl*etiq, ylab="Number of executed queries",data=datos)Jorge El Monday 11 October 2010 12:49:43 Felix.Villanueva escribió:> 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 > 27340 27829 27108 27387 28059 28977 29355 25977 > 28220 27049 27324 28446 25827 29820 25047 27026 > 26104 25472 27270 27202 27285 29765 26624 29713 > 29606 27165 29961 29435 29600 28686 29610 27341 > 29665 28623 26970 29245 25001 27048 28864 27818 > 29869 29894 25290 26908 27662 26201 28540 29290 > 28946 29653 28052 28529 27008 28291 29055 25062 > 28887 26217 27476 27892 29543 29935 29867 25031 > 29105 28034 25954 25088 29468 26502 26834 25136 > > Mientras que el Global.data es igual con distintos valores: > > 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 > 22727 24635 23759 21890 23044 24308 24218 23927 > 20445 21907 21092 20192 24666 24868 24208 24632 > 23864 23426 23265 21213 22469 21003 20774 23490 > 24612 21134 23861 22582 21314 20116 22178 23332 > 24276 21504 24045 24220 23373 20273 22561 20506 > 23039 23068 23847 23768 22926 20872 21294 20996 > 21449 21920 20343 20871 24014 22731 24327 21055 > 23525 20127 23735 23664 24462 22306 22179 24527 > 23402 20973 23285 22096 24588 21073 21506 20207 > > La idea sería comparar ambas series de datos, algo así: > > Exponential_frame=read.table("Exponential.data", header =T) > Global_frame=read.table("Global.data", header =T) > > par(las=2,cex=1,mar=c(7.2,4,2,2)) > > boxplot(Exponential_frame, ylab="Number of executed queries", > col="yellow") > boxplot(Global_frame, ylab="Number of executed queries", > col="green", add=TRUE)
Muchas gracias Jorge, es exactamente lo que quería, estaba bastante lejos por lo que veo. un saludo y gracias de nuevo. El Mon, 11 Oct 2010 13:40:04 +0200 Jorge Virto <jorge.virto en ehu.es> escribió:> Hola Felix, > > puedes combinar los datos en un único data.frame y luego hacer todos > los boxplot en un mismo gráfico: > > > # Exponential > > etiqueta <- c(0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6) > > datos.exp <- c( > 27340, 27829, 27108, 27387, 28059, 28977, 29355, 25977, > 28220, 27049, 27324, 28446, 25827, 29820, 25047, 27026, > 26104, 25472, 27270, 27202, 27285, 29765, 26624, 29713, > 29606, 27165, 29961, 29435, 29600, 28686, 29610, 27341, > 29665, 28623, 26970, 29245, 25001, 27048, 28864, 27818, > 29869, 29894, 25290, 26908, 27662, 26201, 28540, 29290, > 28946, 29653, 28052, 28529, 27008, 28291, 29055, 25062, > 28887, 26217, 27476, 27892, 29543, 29935, 29867, 25031, > 29105, 28034, 25954, 25088, 29468, 26502, 26834, 25136) > > > # Global > > datos.gl <- c( > 22727, 24635, 23759, 21890, 23044, 24308, 24218, 23927, > 20445, 21907, 21092, 20192, 24666, 24868, 24208, 24632, > 23864, 23426, 23265, 21213, 22469, 21003, 20774, 23490, > 24612, 21134, 23861, 22582, 21314, 20116, 22178, 23332, > 24276, 21504, 24045, 24220, 23373, 20273, 22561, 20506, > 23039, 23068, 23847, 23768, 22926, 20872, 21294, 20996, > 21449, 21920, 20343, 20871, 24014, 22731, 24327, 21055, > 23525, 20127, 23735, 23664, 24462, 22306, 22179, 24527, > 23402, 20973, 23285, 22096, 24588, 21073, 21506, 20207) > > > datos <- data.frame(queries=c(datos.exp,datos.gl), > expgl=factor(rep(c("Exp","Glo"),each=72)), > etiq=factor(rep(etiqueta,18))) > > > boxplot(queries~expgl*etiq, ylab="Number of executed > > queries",data=datos) > > Jorge > > El Monday 11 October 2010 12:49:43 Felix.Villanueva escribió: > > 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 > > 27340 27829 27108 27387 28059 28977 29355 25977 > > 28220 27049 27324 28446 25827 29820 25047 27026 > > 26104 25472 27270 27202 27285 29765 26624 29713 > > 29606 27165 29961 29435 29600 28686 29610 27341 > > 29665 28623 26970 29245 25001 27048 28864 27818 > > 29869 29894 25290 26908 27662 26201 28540 29290 > > 28946 29653 28052 28529 27008 28291 29055 25062 > > 28887 26217 27476 27892 29543 29935 29867 25031 > > 29105 28034 25954 25088 29468 26502 26834 25136 > > > > Mientras que el Global.data es igual con distintos valores: > > > > 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 > > 22727 24635 23759 21890 23044 24308 24218 23927 > > 20445 21907 21092 20192 24666 24868 24208 24632 > > 23864 23426 23265 21213 22469 21003 20774 23490 > > 24612 21134 23861 22582 21314 20116 22178 23332 > > 24276 21504 24045 24220 23373 20273 22561 20506 > > 23039 23068 23847 23768 22926 20872 21294 20996 > > 21449 21920 20343 20871 24014 22731 24327 21055 > > 23525 20127 23735 23664 24462 22306 22179 24527 > > 23402 20973 23285 22096 24588 21073 21506 20207 > > > > La idea sería comparar ambas series de datos, algo así: > > > > Exponential_frame=read.table("Exponential.data", header =T) > > Global_frame=read.table("Global.data", header =T) > > > > par(las=2,cex=1,mar=c(7.2,4,2,2)) > > > > boxplot(Exponential_frame, ylab="Number of executed queries", > > col="yellow") > > boxplot(Global_frame, ylab="Number of executed queries", > > col="green", add=TRUE) > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es-- Dr. Félix Jesús Villanueva Molina Assistant Professor School of Computer Science Paseo de la Universidad, 4 13071 Ciudad Real (Spain) http://arco.esi.uclm.es
Aprovecho la pregunta de Félix, para ilustrar los hermosos boxplot del package ggplot2. Utilizando el data.frame "datos" diseñado por Jorge Virto a partir del problema de Félix, el código de ggplot2 sería: require(ggplot2) p <- ggplot(datos,aes(etiq,queries)) p + geom_boxplot(aes(fill = expgl)) + labs(list(y = "Number of executed queries",x="Etiquetas")) Un saludo. Olivier -- ____________________________________ Olivier G. Nuñez Email: onunez en iberstat.es Tel : +34 663 03 69 09 Web: http://www.iberstat.es ____________________________________ El 11/10/2010, a las 14:09, Felix.Villanueva escribió:> > Muchas gracias Jorge, es exactamente lo que quería, estaba bastante > lejos por lo que veo. > un saludo y gracias de nuevo. > > El Mon, 11 Oct 2010 13:40:04 +0200 > Jorge Virto <jorge.virto en ehu.es> escribió: >> Hola Felix, >> >> puedes combinar los datos en un único data.frame y luego hacer todos >> los boxplot en un mismo gráfico: >> >>> # Exponential >>> etiqueta <- c(0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6) >>> datos.exp <- c( >> 27340, 27829, 27108, 27387, 28059, 28977, 29355, 25977, >> 28220, 27049, 27324, 28446, 25827, 29820, 25047, 27026, >> 26104, 25472, 27270, 27202, 27285, 29765, 26624, 29713, >> 29606, 27165, 29961, 29435, 29600, 28686, 29610, 27341, >> 29665, 28623, 26970, 29245, 25001, 27048, 28864, 27818, >> 29869, 29894, 25290, 26908, 27662, 26201, 28540, 29290, >> 28946, 29653, 28052, 28529, 27008, 28291, 29055, 25062, >> 28887, 26217, 27476, 27892, 29543, 29935, 29867, 25031, >> 29105, 28034, 25954, 25088, 29468, 26502, 26834, 25136) >> >>> # Global >>> datos.gl <- c( >> 22727, 24635, 23759, 21890, 23044, 24308, 24218, 23927, >> 20445, 21907, 21092, 20192, 24666, 24868, 24208, 24632, >> 23864, 23426, 23265, 21213, 22469, 21003, 20774, 23490, >> 24612, 21134, 23861, 22582, 21314, 20116, 22178, 23332, >> 24276, 21504, 24045, 24220, 23373, 20273, 22561, 20506, >> 23039, 23068, 23847, 23768, 22926, 20872, 21294, 20996, >> 21449, 21920, 20343, 20871, 24014, 22731, 24327, 21055, >> 23525, 20127, 23735, 23664, 24462, 22306, 22179, 24527, >> 23402, 20973, 23285, 22096, 24588, 21073, 21506, 20207) >> >>> datos <- data.frame(queries=c(datos.exp,datos.gl), >> expgl=factor(rep(c("Exp","Glo"),each=72)), >> etiq=factor(rep(etiqueta,18))) >> >>> boxplot(queries~expgl*etiq, ylab="Number of executed >>> queries",data=datos) >> >> Jorge >> >> El Monday 11 October 2010 12:49:43 Felix.Villanueva escribió: >>> 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 >>> 27340 27829 27108 27387 28059 28977 29355 25977 >>> 28220 27049 27324 28446 25827 29820 25047 27026 >>> 26104 25472 27270 27202 27285 29765 26624 29713 >>> 29606 27165 29961 29435 29600 28686 29610 27341 >>> 29665 28623 26970 29245 25001 27048 28864 27818 >>> 29869 29894 25290 26908 27662 26201 28540 29290 >>> 28946 29653 28052 28529 27008 28291 29055 25062 >>> 28887 26217 27476 27892 29543 29935 29867 25031 >>> 29105 28034 25954 25088 29468 26502 26834 25136 >>> >>> Mientras que el Global.data es igual con distintos valores: >>> >>> 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 >>> 22727 24635 23759 21890 23044 24308 24218 23927 >>> 20445 21907 21092 20192 24666 24868 24208 24632 >>> 23864 23426 23265 21213 22469 21003 20774 23490 >>> 24612 21134 23861 22582 21314 20116 22178 23332 >>> 24276 21504 24045 24220 23373 20273 22561 20506 >>> 23039 23068 23847 23768 22926 20872 21294 20996 >>> 21449 21920 20343 20871 24014 22731 24327 21055 >>> 23525 20127 23735 23664 24462 22306 22179 24527 >>> 23402 20973 23285 22096 24588 21073 21506 20207 >>> >>> La idea sería comparar ambas series de datos, algo así: >>> >>> Exponential_frame=read.table("Exponential.data", header =T) >>> Global_frame=read.table("Global.data", header =T) >>> >>> par(las=2,cex=1,mar=c(7.2,4,2,2)) >>> >>> boxplot(Exponential_frame, ylab="Number of executed queries", >>> col="yellow") >>> boxplot(Global_frame, ylab="Number of executed queries", >>> col="green", add=TRUE) >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es en r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > -- > Dr. Félix Jesús Villanueva Molina > Assistant Professor > School of Computer Science > Paseo de la Universidad, 4 > 13071 Ciudad Real (Spain) > http://arco.esi.uclm.es > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es