Hola, Estoy tratando de hacer un diagrama de barras que en principio no parece muy difícil pero que no me sale. Mi matriz es del siguiente tipo: [86,90[ [90,94[ [94,98[ [98,102[ [78,82[ 1 2 1 1 [78,82[ 5 0 0 0 [82,86[ 0 1 0 2 [82,86[ 0 3 0 0 Y quisiera representar para [78,82[ dos barras juntas y en cada una de ellas que la barra se divida según el valor para cada uno de los intervalos [86,90[ [90,94[ [94,98[ [98,102[. Del mismo modo, para [82,86[. Pero que las dos barras correspondientes a [78,82[ y [82,86[ salgan separadas. Os adjunto un gráfico parecido a lo que quisiera que saliera, pero las dos barras primeras deberían salir juntas y con sólo la etiqueta [78,82[ y las dos siguientes barras juntas con la etiqueta [82,86[ pero con una separación entre la barra segunda y la tercera. He probado con barplot poniendo beside=TRUE pero no me sale. ¿Alguien me podría sugerir algo?. Os adjunto el archivo de datos de ejemplo. El código básico que he utilizado es: color <- c("steelblue1", "orange", "khaki3", "springgreen4") mat <- read.table("matriz.txt",header=FALSE) mat <- as.matrix(mat) barplot(t(mat), col = color, cex.names = 0.75) Muchas gracias de antemano. Saludos, Guillermo ------------ próxima parte ------------ An embedded and charset-unspecified text was scrubbed... Name: matriz.txt URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20130603/69a5964d/attachment.txt> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: ejemplo.pdf Type: application/pdf Size: 4342 bytes Desc: URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20130603/69a5964d/attachment.pdf>
Hola, Ya he podido conseguirlo. Simplemente con space=c(1,0) en barplot, salen las barras como quería. Gracias. Saludos, Guillermo> Hola, > > Estoy tratando de hacer un diagrama de barras que en principio no parece > muy difícil pero que no me sale. > > Mi matriz es del siguiente tipo: > > [86,90[ [90,94[ [94,98[ [98,102[ > [78,82[ 1 2 1 1 > [78,82[ 5 0 0 0 > [82,86[ 0 1 0 2 > [82,86[ 0 3 0 0 > > Y quisiera representar para [78,82[ dos barras juntas y en cada una de > ellas que la barra se divida según el valor para cada uno de los > intervalos [86,90[ [90,94[ [94,98[ [98,102[. Del mismo modo, para > [82,86[. Pero que las dos barras correspondientes a [78,82[ y [82,86[ > salgan separadas. > > Os adjunto un gráfico parecido a lo que quisiera que saliera, pero las > dos barras primeras deberían salir juntas y con sólo la etiqueta [78,82[ > y las dos siguientes barras juntas con la etiqueta [82,86[ pero con una > separación entre la barra segunda y la tercera. > > He probado con barplot poniendo beside=TRUE pero no me sale. ¿Alguien me > podría sugerir algo?. Os adjunto el archivo de datos de ejemplo. El > código básico que he utilizado es: > > color <- c("steelblue1", "orange", "khaki3", "springgreen4") > mat <- read.table("matriz.txt",header=FALSE) > mat <- as.matrix(mat) > barplot(t(mat), col = color, cex.names = 0.75) > > Muchas gracias de antemano. > > Saludos, > > Guillermo >