barplot agrupado e empilhado

Olá pessoal, Estou precisando fazer um grafico de barras mixto, que mistura agrupado e empilhado. É possível? Qual pacote faz isso? De qualquer forma, sou usuária nova e não consegui fazer nem ao menos o agrupado sem o empilhado. A necessidade é a seguinte: a primeira barra será empilhada (variaveis: colhidos e não colhidos). As outras três barras agrupadas devem ser a proporção de semdanos, dleves e dgraves. Na tabela, o X.semdanos representa a porcentagem de semdanos. e o X.leves e o X.graves representam a porcentagem de danos também. Preciso fazer isso para os 8 tratamentos. Preferencialmente no mesmo plot, para efeito de comparação. Meu data frame é o seguinte: trat colhidos dleves dgraves naocolhidos carga X._leves X._graves cap ef semdanos X.semdanos 1 810 85 81 36 846 10,49 10 332,95 95,74 644 79,51 2 531 65 43 27 558 12,24 8,1 548,63 95,16 423 79,66 3 805 111 34 44 849 13,79 4,22 559,86 94,82 660 81,99 4 1248 192 56 15 1263 15,38 4,49 849,94 98,81 1000 80,13 5 557 49 27 19 576 8,8 4,85 436,82 96,7 481 86,36 6 485 111 85 112 597 22,89 17,53 270,65 81,24 289 59,59 7 530 45 34 25 555 8,49 6,42 577,23 95,5 451 85,09 8 613 194 132 48 661 31,65 21,53 246,54 92,74 287 46,82 Na escuta, -- CHRISTINA GRUPIONI Engenheira Agrícola e Ambiental- CREA BA: 84142 *OCA (Organização Cooperativa de Agroecologia**)* *Tecnologias Ecológicas e Sociais* (31) 8863-0005, (31) 3892-2236 *skype:chrisgrupioni@gmail.com <chrisgrupioni@gmail.com>*

Ola. Bem acho que no ggplot2 deve dar para fazer isso direto, mas eu não sei muito bem como usar o ggplot2 ainda. Uma solução seria fazer você mesma as barras usando rect (o próprio barplot usa rect para desenhar as barras). Fiz um exemplo para ilustrar aqui, mas se você posta-se seu data-frame, poderia ter usado ele no exemplo. (Você pode colar ele facilmente no e-mail usando o comando dput, como mostrado no guia de postagem - http://www.leg.ufpr.br/r-br-guia) Mas vamos la, veja meu exemplo ##Simulando alguns dados set.seed(1) colhidos<-rpois(5,5) nao_colhidos<-10-colhidos outra_variavel<-rpois(5,5) dados<-data.frame(colhidos,nao_colhidos,outra_variavel) ##Aqui temos uma planilha dados ##Você pode começar um gráfico normalmente, fazendo a parte agrupada. barplot(as.matrix(dados[,-3]),xaxt="n") axis(1) ##Dai oque você precisa é de espaço para as outras barras, que você pode espaçar essas barras com space e usar o xlim para para ter mais espaço no final ##note que estou usando axis(1) so para você ver a posição das barras. barplot(as.matrix(dados[,-3]),space=2,xlim=c(2,9),xaxt="n") axis(1) ##Agora é so fazer o resto das barras usando rect, que faz um retangulo, você fala onde as barras vão ficar no x, a largura e a altura, sendo que elas começam no zero. local<-c(3.5,4.5,6.5,7.5,8.5) width_barra<-0.4 rect(xleft=local-width_barra, ybottom=0, xright=local+width_barra, ytop=dados$outra_variavel, col=2:6) ##agrupado é so questão do local, como sua figura não é gigantesca, da para fazer no olhômetro facilmente. Mas lembre-se de postar um conjunto de dados seu, mesmo que simulados, porque se eu so copiar pro R, eu usaria ele no exemplo, colar essa planilha pro R é muito ruim. Em 29 de janeiro de 2017 21:45, Christina Grupioni via R-br < r-br@listas.c3sl.ufpr.br> escreveu:
Olá pessoal,
Estou precisando fazer um grafico de barras mixto, que mistura agrupado e empilhado. É possível? Qual pacote faz isso? De qualquer forma, sou usuária nova e não consegui fazer nem ao menos o agrupado sem o empilhado.
A necessidade é a seguinte: a primeira barra será empilhada (variaveis: colhidos e não colhidos). As outras três barras agrupadas devem ser a proporção de semdanos, dleves e dgraves. Na tabela, o X.semdanos representa a porcentagem de semdanos. e o X.leves e o X.graves representam a porcentagem de danos também. Preciso fazer isso para os 8 tratamentos. Preferencialmente no mesmo plot, para efeito de comparação.
Meu data frame é o seguinte:
trat colhidos dleves dgraves naocolhidos carga X._leves X._graves cap ef semdanos X.semdanos 1 810 85 81 36 846 10,49 10 332,95 95,74 644 79,51 2 531 65 43 27 558 12,24 8,1 548,63 95,16 423 79,66 3 805 111 34 44 849 13,79 4,22 559,86 94,82 660 81,99 4 1248 192 56 15 1263 15,38 4,49 849,94 98,81 1000 80,13 5 557 49 27 19 576 8,8 4,85 436,82 96,7 481 86,36 6 485 111 85 112 597 22,89 17,53 270,65 81,24 289 59,59 7 530 45 34 25 555 8,49 6,42 577,23 95,5 451 85,09 8 613 194 132 48 661 31,65 21,53 246,54 92,74 287 46,82 Na escuta,
--
CHRISTINA GRUPIONI Engenheira Agrícola e Ambiental- CREA BA: 84142 *OCA (Organização Cooperativa de Agroecologia**)* *Tecnologias Ecológicas e Sociais* (31) 8863-0005, (31) 3892-2236 *skype:chrisgrupioni@gmail.com <chrisgrupioni@gmail.com>*
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- Grato Augusto C. A. Ribas Site Pessoal: http://recologia.com.br/ <http://augustoribas.heliohost.org> Github: https://github.com/Squiercg Lattes: http://lattes.cnpq.br/7355685961127056
participantes (2)
-
Augusto Ribas
-
Christina Grupioni