首页 > 解决方案 > 在 R 中自定义条形图的颜色

问题描述

这是一些用于制作条形图的可重现代码。我想将条 C、M、S 和 S 的颜色自定义为不同深浅的蓝色,将 V 自定义为橙色。我怎样才能做到这一点?谢谢!

IDs <- seq(1,50)
IDs <- data.frame(rep(IDs, each = 5))
names(IDs)[1] <- "ID"

tastes <- c("Strawberry", "Vanilla", "Chocolate", "Matcha", "Sesame")
tastes <- data.frame(rep(tastes, times = 50))

#random numbers for schools 
A <- runif(250, 1,5)
B <- runif(250, 1,5)
C <- runif(250, 1,5)

#merge
test <- cbind(IDs, tastes)
test <- cbind(test, A)
test <- cbind(test, B)
test <- cbind(test, C)
names(test)[2] <- "Flavour"
#make long
test_long <- melt(test, 
                  id.vars = c("ID", "Flavour"))

#plot
plot <- ggplot(test_long) +
  geom_bar(aes(x = Flavour,
               y = value), stat="summary", fun=mean) + 
  scale_x_discrete(labels=c("C","M","S","S","V")) +
  coord_cartesian(ylim=c(1,5)) +
  facet_grid(. ~ variable) + 
  labs(title = "Likeability of Different Flavours by School") +
  theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
        panel.background = element_blank(), axis.line = element_line(colour = "black"))
plot

标签: rggplot2colorsbar-chart

解决方案


推荐阅读