gpt4 book ai didi

r - 在 ggplot2 中使用 `scale_fill_manual` 手动着色图不起作用

转载 作者:行者123 更新时间:2023-12-02 21:01:53 28 4
gpt4 key购买 nike

我正在努力解决如何手动更改 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"))

enter image description here

关于r - 在 ggplot2 中使用 `scale_fill_manual` 手动着色图不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36048033/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com