[R-br] ggplot + geom_bar

Cid Póvoas cidedson em gmail.com
Ter Dez 21 15:38:22 -03 2021


Adicionei umas coisas

library(ggplot2)
ggplot(a, aes( x = Satisfaction, group=Visit)) +
  geom_bar(aes(y = ..prop.., fill = factor(..x..)), stat="count") +
  geom_text(aes(label = scales::percent(round(..prop..,2)),
                 y= ..prop.. ), stat= "count", vjust = -.5,
            size = 3) +
  theme_bw(15)+
  theme(axis.text.x= element_text(angle=45, size = 10, hjust=1),
        legend.position = "top",
        strip.background = element_blank(),
        panel.grid.major.x = element_blank(),
        panel.grid.minor.x = element_blank(),
        panel.grid.minor.y = element_blank(),
        #panel.grid.major.y = element_line(linetype=2, size=1),
        panel.grid.minor =  element_blank(),
        panel.grid.major = element_blank(),
        legend.title = element_blank()) +
  labs(y = "Percent", fill="Satisfaction") +
  #facet_grid(~Visit+Intervention) +
  facet_wrap(~Visit+Intervention,strip.position="top",ncol=10)+
  scale_y_continuous(labels = scales::percent)+
  scale_fill_manual(values = ramp(5),labels=levels(a$Satisfaction))



*Cid Edson Mendonça Póvoas*

*AnovAgro <http://www.anovagro.com/>*
*Engenheiro Agrônomo - **Data Scientist*
*CREA : 051984991-4*
*Técnico em Segurança do Trabalho *
*Nº: **0012669/BA*
*Tel: +55 73 99151-9565*
*Lattes : *http://lattes.cnpq.br/2303498368142537
*LinkedIn :* http://br.linkedin.com/in/cidedson/
*Whatsapp :* https://wa.me/5573991519565


Em ter., 21 de dez. de 2021 às 14:54, Felipe Barletta por (R-br) <
r-br em listas.c3sl.ufpr.br> escreveu:

> Prezado Pedro,
>
> Talvez esse código lhe sirva (com alguns ajustes de perfumaria nas
> legendas e eixos)
>
> ###########################################################################
> library(ggplot2)
> ggplot(a, aes( x = Satisfaction, group=Visit)) +
>     geom_bar(aes(y = ..prop.., fill = factor(..x..)), stat="count") +
>     geom_text(aes( label = scales::percent(..prop..),
>                   y= ..prop.. ), stat= "count", vjust = -.5,
>               size = 2.5 ) +
>     theme(axis.text.x= element_text(angle=45, size = 8),
>           legend.title=element_blank()) +
>     labs(y = "Percent", fill="Satisfaction") +
>     facet_grid(~Visit+Intervention) +
>     scale_y_continuous(labels = scales::percent)
>
> Em ter., 21 de dez. de 2021 às 12:02, Pedro Emmanuel Alvarenga Americano
> do Brasil por (R-br) <r-br em listas.c3sl.ufpr.br> escreveu:
>
>> Amigos de R,
>>
>> Estou num esforço de tentar aprender a usar o tidyverse. Gostaria de
>> manter a consistência de um relatório que estou trabalhando com gráficos do
>> ggplot. Mas há um particular gráfico de barras que não estou conseguindo
>> fazer. Alguém pode me ajudar a fazer o gráfico no ggplot + geom_bar? Segue
>> abaixo um exemplo como eu faria com o graphics.
>>
>> # Preparando os dados simulados
>> tab <- array(c(92,74,11,0,0,94,98,10,1,0,
>>                83,56,13,2,0,96,68,9,7,0,
>>                46,28,7,1,1,54,59,16,7,0,
>>                26,20,3,0,0,36,32,16,4,0,
>>                8,2,0,0,0,3,3,1,0,0), c(5, 2, 5))
>> dimnames(tab) <- list(c("Definitively satisfied",
>>                         "Satisfied",
>>                         "Little satisfied",
>>                         "Little dissatisfied",
>>                         "Definitively dissatisfied"),
>>                         c("Surface 1","Surface 2"),
>>                       c(1:5))
>> names(dimnames(tab)) <- c("Satisfaction","Intervention","Visit")
>> tab
>> a <- epitools::expand.table(tab)
>> a$Visit <- paste0("Visit ", a$Visit)
>> head(a)
>>
>> # Fazendo as tabelas ja com os percentuais
>> x <- sapply(unique(a$Visit), function(i)
>> prop.table(table(a$Satisfaction[a$Visit==i],a$Intervention[a$Visit==i]),2),
>> simplify = FALSE)
>>
>> # Criando o objeto height do barplot
>> y <- x[[1]] ; for(i in 2:length(x)) {y <- cbind(y,x[[i]])}
>> ramp <- colorRampPalette(c("darkgreen","red"))
>>
>> # Criando o gráfico
>> z <- barplot(y, beside = T, col = ramp(5),
>>              legend = T,
>>              args.legend = list(x="top",xpd=NA,inset=-.15,bty="n",cex=.8,
>> ncol = 2),
>>              axisnames = FALSE)
>> axis(2, at = seq(0,1,.025),labels = FALSE, tck = -.01)
>> text(z[3,], -.005, colnames(y), cex = .5,  srt = 35, xpd = NA, adj = 1,
>> offset = 5)
>> axis(1, at = sapply(seq(0,ncol(z)-2,2),function(i) mean(z[,c(1:2) +
>> i])),labels = unique(a$Visit), line = 1.5, tick = FALSE)
>> sapply(1:ncol(y), function(i) text(x = z[1:5,i], y = y[1:5,i], labels =
>> round(y[1:5,i],2), pos = 3, cex = .5, xpd = NA))
>>
>> Abraço forte a todos,
>> Pedro Brasil
>> _______________________________________________
>> 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.
>>
> _______________________________________________
> 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.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20211221/ecf7b84e/attachment.htm>


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