[R-br] barplot agrupado e empilhado

Augusto Ribas ribas.aca em gmail.com
Terça Janeiro 31 12:32:36 BRST 2017


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 em 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 em gmail.com <chrisgrupioni em gmail.com>*
>
>
>
> _______________________________________________
> R-br mailing list
> R-br em 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
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20170131/c2c42d8e/attachment.html>


Mais detalhes sobre a lista de discussão R-br