[英]ggplot: adding a legend entry for a line to a grouped bar chart
我想要 plot,在 R 并使用ggplot2
,一个条形图显示,对于几个组,两个变量作为条形图,一个变量作为一条线。 所有变量都在同一尺度上。
以diamonds
为例,
library(tidyverse)
diamonds %>%
group_by(cut) %>%
summarize(avg = median(carat), min = min(carat), max = max(carat)) %>%
pivot_longer(cols = c("min", "max"), names_to = "bounds", values_to = "weight") %>%
ggplot() +
geom_col(mapping = aes(x = cut, y = weight, fill = bounds), position = "dodge") +
geom_line(mapping = aes(x = cut, y = avg), group = 1)
给
我现在想做的有两个方面:
我搜索了 google 和 SO,并查看了scale_color_*
,但没有成功,而且我仍然不是真正的“grokking” ggplot2
的特殊绘图方法,所以任何帮助将不胜感激。 谢谢!
您可以为美学添加color
以获得线条的图例,并使用scale_color_manual
像这样更改颜色线:
library(tidyverse)
diamonds %>%
group_by(cut) %>%
summarize(avg = median(carat), min = min(carat), max = max(carat)) %>%
pivot_longer(cols = c("min", "max"), names_to = "bounds", values_to = "weight") %>%
ggplot() +
geom_col(mapping = aes(x = cut, y = weight, fill = bounds), position = "dodge") +
geom_line(mapping = aes(x = cut, y = avg, color = "name_line"), group = 1) +
scale_color_manual("Legend line", values = c("name_line" = "yellow"))
创建于 2023-01-27,使用reprex v2.0.2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.