首页 > 解决方案 > ggplot2中条形图条的不同颜色

问题描述

我正在尝试使用 RColorBrewer 包的颜色为下面的图表着色,其中对于 CONTROL 组,颜色将分别是 INITIAL 和 FINAL 的灰色和黑色阴影,对于 IRRADIATED 组,颜色将是浅红色和较暗红色分别代表 INITIAL 和 FINAL,然而,代码只输入灰色和黑色。

library(RColorBrewer)
library(ggplot2)

dados4$VARIAVEIS = as.factor(dados4$VARIAVEIS)
dados4$PERIODO = as.factor(dados4$PERIODO)
dados4$GRUPOS  = as.factor(dados4$GRUPOS)


errors <- dados4 %>%
  group_by(VARIAVEIS,PERIODO,GRUPOS) %>%
  summarise(mean = mean(Resposta), 
            sd = sd(Resposta),
            sem = sd(Resposta)/sqrt(length(Resposta)))

gap3 <- aggregate(Resposta ~ VARIAVEIS + PERIODO + GRUPOS, data=dados4, FUN=mean)
gap31 <- gap3 %>% left_join(errors)

x11()
graf2=ggplot(gap31, aes(x = VARIAVEIS, y = Resposta, fill = factor(PERIODO))) +
  geom_col(position = "dodge") + 
  geom_errorbar(aes(ymin=mean-1.96*sd,ymax=mean+1.96*sd),position = position_dodge(0.9))+
  facet_grid(~ GRUPOS) + theme(strip.text.x=element_text(size = 15)) +
  labs(title = "",
       x = "Variáveis",
       y = expression(paste('Deformação'," ",'(',mu, m,')')),
       fill = "Períodos") +
theme(legend.title = element_text(size = 15),legend.text = element_text(size = 15),
      axis.text.x = element_text(color = "black", hjust=1),
      axis.title = element_text(size = 15),
      axis.text = element_text(size = 12)) 
graf2+scale_fill_manual(values=c("#4D4D4D","black","#FCBBA1","#DE2D26"))

标签: rggplot2plotgraphbar-chart

解决方案


试试这个方法:

library(RColorBrewer)
library(ggplot2)
#Load data
dados4 <- read.csv('DADOSGRAPHBARRA.csv',stringsAsFactors = F,sep=';')

dados4$VARIAVEIS = as.factor(dados4$VARIAVEIS)
dados4$PERIODO = as.factor(dados4$PERIODO)
dados4$GRUPOS  = as.factor(dados4$GRUPOS)
#Compute summaries
errors <- dados4 %>%
  group_by(VARIAVEIS,PERIODO,GRUPOS) %>%
  summarise(mean = mean(Resposta), 
            sd = sd(Resposta),
            sem = sd(Resposta)/sqrt(length(Resposta)))
gap3 <- aggregate(Resposta ~ VARIAVEIS + PERIODO + GRUPOS, data=dados4, FUN=mean)
#Merge
gap31 <- gap3 %>% left_join(errors)

现在的情节:

#Plot
ggplot(gap31, aes(x = VARIAVEIS, y = Resposta,
                  fill = interaction(PERIODO,GRUPOS))) +
  geom_col(position = "dodge") +
  geom_errorbar(aes(ymin=mean-1.96*sd,ymax=mean+1.96*sd),position = position_dodge(0.9))+
  facet_grid(~ GRUPOS) + 
  theme(strip.text.x=element_text(size = 15)) +
  labs(title = "",
       x = "Variáveis",
       y = expression(paste('Comprimentos e Diâmetros'," ",'(',mu, m,')')),
       fill = "Períodos") +
  theme(legend.title = element_text(size = 15),legend.text = element_text(size = 15),
        axis.text.x = element_text(color = "black", hjust=1),
        axis.title = element_text(size = 15),
        axis.text = element_text(size = 12))+
  scale_fill_manual(values=c("black","#4D4D4D","#DE2D26","#FB6A4A"))

输出:

在此处输入图像描述


推荐阅读