我正在努力解决如何手动更改 ggplot2 中的条形颜色。奇怪的是,当使用需要图例的更复杂的格式时,我可以通过使用scale_fill_manual并设置值、标签等来使其工作。但是,当创建不需要图例的更简单的图表时,我似乎无法让它工作。下面是一个示例数据框、我在 dplyr 中用于获取百分比的步骤,以及我认为它应该如何在 ggplot2 中工作。我只想手动将条形颜色更改为红色、seagreen3 和灰色。
如有任何帮助,我们将不胜感激。我也很想知道用于快速计算百分比的不同方法。我一直在 dplyr 中使用管道,但如果能看到其他编写代码的方法那就太好了。
library(dplyr)
library(ggplot2)
Service <- c("Satisfied", "Dissatisfied", "Neutral", "Satisfied", "Neutral")
Service2 <- c("Dissatisfied", "Dissatisfied", "Neutral", "Satisfied", "Satisfied")
Services <- data.frame(Service, Service2)
ServicesProp <- Services %>%
select(Service) %>% group_by(Service) %>%
summarise(count=n()) %>%
mutate(percent = count / sum(count))
ggplot(ServicesProp, aes(x = Service, y = percent)) +
geom_bar(stat = "identity", position = "dodge") +
scale_fill_manual(values = c("red", "seagreen3", "grey"))
最佳答案
以防万一您不确定@baptise 的含义:
ggplot(ServicesProp, aes(x = Service, y = percent, fill = Service)) +
geom_bar(stat = "identity", position = "dodge") +
scale_fill_manual(values = c("red", "grey", "seagreen3"))
关于r - 在 ggplot2 中使用 `scale_fill_manual` 手动着色图不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36048033/