Eric
2018-Sep-22 14:53 UTC
[R-es] grafico de barras (barchart) con barras de error y achurado (hatching) en lugar de escala de grises
Que tal comunidad, hace dias que estoy en un problema que no puedo resolver. Resulta que debo confeccionar un grafico de barras (columnas) que debe incluir barras de error. La unica forma en que me resulto es con barchart() de la libreria Hmisc, y haciendo un truco un poco complicado para mi nivel de usuario autodidacta. Ahora que ya lo tengo (despues de semanas de busqueda) resulta que me piden que en lugar de usar escala de grises para diferenciar las columnas, use un achurado (esas lineas que van dentro de la barra, con distintos patrones para poder diferenciarlas). Con barplot() resulta bastante simple usando los argumentos angle y density, pero no hay caso con barchart(), simplemente no encuentro en la internet como hacerlo y tampoco se me ocurre, por mas que reviso la ayuda de la funcion y de otros parametros de trellis no se ilumina mi entendimiento. Asi es que paso por aqui a ver si alguien tiene alguna idea de como hacerlo, dejo mi codigo y algunos datos para que prueben. Muchas gracias !! barchart(ave*100 ~ con | sol, groups=name, data=pag , between=list(x=0), layout=c(1,3) , ylab=list("Fatty acids relative area (%)", cex=1.1) , scales=list(y=list(cex=1.1), x=list(cex=1.1)) , xlab=list("Solvent concentration (mM)", cex=1.1) , auto.key=list(space="right", points = FALSE, rectangles = TRUE) , cex=1.2 , panel=function(x, y, ..., subscripts){ panel.barchart(x, y, subscripts=subscripts, ...) lld <- 100*pag$ll[subscripts] uld <- 100*pag$ul[subscripts] panel.segments(as.numeric(x)+pag$dis[subscripts],lld, as.numeric(x)+pag$dis[subscripts],uld, col="black") } ) Olvide de decir que no lo hago con barplot() porque con esa funcion no me resultan las barras de error. Muchas gracias !! Eric. pd. disculpen que no use tilde, pero no tengo :'( ------------ próxima parte ------------ An embedded and charset-unspecified text was scrubbed... Name: pag URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20180922/e7507f86/attachment-0001.ksh>
Carlos Ortega
2018-Sep-22 15:08 UTC
[R-es] grafico de barras (barchart) con barras de error y achurado (hatching) en lugar de escala de grises
Hola, ggplot tiene un *geom *justamente para esto... https://stackoverflow.com/questions/32984974/add-error-bars-to-a-barplot Saludos, Carlos Ortega www.qualityexcellence.es El sáb., 22 sept. 2018 a las 16:53, Eric (<ericconchamunoz en gmail.com>) escribió:> Que tal comunidad, hace dias que estoy en un problema que no puedo > resolver. Resulta que debo confeccionar un grafico de barras (columnas) > que debe incluir barras de error. La unica forma en que me resulto es > con barchart() de la libreria Hmisc, y haciendo un truco un poco > complicado para mi nivel de usuario autodidacta. Ahora que ya lo tengo > (despues de semanas de busqueda) resulta que me piden que en lugar de > usar escala de grises para diferenciar las columnas, use un achurado > (esas lineas que van dentro de la barra, con distintos patrones para > poder diferenciarlas). Con barplot() resulta bastante simple usando los > argumentos angle y density, pero no hay caso con barchart(), simplemente > no encuentro en la internet como hacerlo y tampoco se me ocurre, por mas > que reviso la ayuda de la funcion y de otros parametros de trellis no se > ilumina mi entendimiento. Asi es que paso por aqui a ver si alguien > tiene alguna idea de como hacerlo, dejo mi codigo y algunos datos para > que prueben. Muchas gracias !! > > > barchart(ave*100 ~ con | sol, groups=name, data=pag > , between=list(x=0), layout=c(1,3) > , ylab=list("Fatty acids relative area (%)", > cex=1.1) > , scales=list(y=list(cex=1.1), x=list(cex=1.1)) > , xlab=list("Solvent concentration (mM)", > cex=1.1) > , auto.key=list(space="right", points > FALSE, rectangles = TRUE) > , cex=1.2 > , panel=function(x, y, ..., subscripts){ > panel.barchart(x, y, subscripts=subscripts, > ...) > lld <- 100*pag$ll[subscripts] > uld <- 100*pag$ul[subscripts] > panel.segments(as.numeric(x)+pag$dis[subscripts],lld, > as.numeric(x)+pag$dis[subscripts],uld, > col="black") > > } > ) > > > Olvide de decir que no lo hago con barplot() porque con esa funcion no > me resultan las barras de error. > > Muchas gracias !! > > Eric. > > > pd. disculpen que no use tilde, pero no tengo :'( > > > > _______________________________________________ > 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 [[alternative HTML version deleted]]
Eric
2018-Sep-22 15:52 UTC
[R-es] grafico de barras (barchart) con barras de error y achurado (hatching) en lugar de escala de grises
Gracias Carlos !!! ... alguna idea con la libreria lattice ? es solo que tengo que hacer 3 graficos diferentes y el aspecto de los mismos quedara diferente con lattice y ggplot. Voy a ver si me resulta todo en ggplot. Saludos y gracias de nuevo, Eric. On 22/09/18 12:08, Carlos Ortega wrote:> Hola, > > ggplot tiene un /geom /justamente para esto... > > https://stackoverflow.com/questions/32984974/add-error-bars-to-a-barplot > > Saludos, > Carlos Ortega > www.qualityexcellence.es <http://www.qualityexcellence.es> > > > El sáb., 22 sept. 2018 a las 16:53, Eric (<ericconchamunoz en gmail.com > <mailto:ericconchamunoz en gmail.com>>) escribió: > > Que tal comunidad, hace dias que estoy en un problema que no puedo > resolver. Resulta que debo confeccionar un grafico de barras > (columnas) > que debe incluir barras de error. La unica forma en que me resulto es > con barchart() de la libreria Hmisc, y haciendo un truco un poco > complicado para mi nivel de usuario autodidacta. Ahora que ya lo > tengo > (despues de semanas de busqueda) resulta que me piden que en lugar de > usar escala de grises para diferenciar las columnas, use un achurado > (esas lineas que van dentro de la barra, con distintos patrones para > poder diferenciarlas). Con barplot() resulta bastante simple > usando los > argumentos angle y density, pero no hay caso con barchart(), > simplemente > no encuentro en la internet como hacerlo y tampoco se me ocurre, > por mas > que reviso la ayuda de la funcion y de otros parametros de trellis > no se > ilumina mi entendimiento. Asi es que paso por aqui a ver si alguien > tiene alguna idea de como hacerlo, dejo mi codigo y algunos datos > para > que prueben. Muchas gracias !! > > > barchart(ave*100 ~ con | sol, groups=name, data=pag > , between=list(x=0), layout=c(1,3) > , ylab=list("Fatty acids relative area > (%)", > cex=1.1) > , scales=list(y=list(cex=1.1), > x=list(cex=1.1)) > , xlab=list("Solvent concentration (mM)", > cex=1.1) > , auto.key=list(space="right", points > FALSE, rectangles = TRUE) > , cex=1.2 > , panel=function(x, y, ..., subscripts){ > panel.barchart(x, y, > subscripts=subscripts, > ...) > lld <- 100*pag$ll[subscripts] > uld <- 100*pag$ul[subscripts] > panel.segments(as.numeric(x)+pag$dis[subscripts],lld, > as.numeric(x)+pag$dis[subscripts],uld, > col="black") > > } > ) > > > Olvide de decir que no lo hago con barplot() porque con esa > funcion no > me resultan las barras de error. > > Muchas gracias !! > > Eric. > > > pd. disculpen que no use tilde, pero no tengo :'( > > > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org <mailto:R-help-es en r-project.org> > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > -- > Saludos, > Carlos Ortega > www.qualityexcellence.es <http://www.qualityexcellence.es>[[alternative HTML version deleted]]