在 `R` 中的 `ggalt::geom_dumbbell` 中向哑铃图添加传统图例
Adding a traditional legend to dumbbell plot in `ggalt::geom_dumbbell` in `R`
如何在 R
中使用 ggalt::geom_dumbbell
创建的哑铃图添加传统图例?
这个 has an 带有图表图例。如何映射美学以获得 side/bottom 上的点的单独图例?
library(ggalt)
df <- data.frame(trt=LETTERS[1:5], l=c(20, 40, 10, 30, 50), r=c(70, 50, 30, 60, 80))
ggplot(df, aes(y=trt, x=l, xend=r)) +
geom_dumbbell(size=3, color="#e3e2e1",
colour_x = "red", colour_xend = "blue",
dot_guide=TRUE, dot_guide_size=0.25) +
theme_bw()
获取图例的一种方法是添加基于长格式数据集的点图层,将 color
映射到分组变量。
首先,通过 gather
从 tidyr.
创建一个长格式数据集
df2 = tidyr::gather(df, group, value, -trt)
然后制作绘图,添加具有长数据集的新点层并使用 scale_color_manual
设置颜色。我将 geom_dumbbell
特定的美学移到了该层中。
ggplot(df, aes(y = trt)) +
geom_point(data = df2, aes(x = value, color = group), size = 3) +
geom_dumbbell(aes(x = l, xend = r), size=3, color="#e3e2e1",
colour_x = "red", colour_xend = "blue",
dot_guide=TRUE, dot_guide_size=0.25) +
theme_bw() +
scale_color_manual(name = "", values = c("red", "blue") )
如何在 R
中使用 ggalt::geom_dumbbell
创建的哑铃图添加传统图例?
这个
library(ggalt)
df <- data.frame(trt=LETTERS[1:5], l=c(20, 40, 10, 30, 50), r=c(70, 50, 30, 60, 80))
ggplot(df, aes(y=trt, x=l, xend=r)) +
geom_dumbbell(size=3, color="#e3e2e1",
colour_x = "red", colour_xend = "blue",
dot_guide=TRUE, dot_guide_size=0.25) +
theme_bw()
获取图例的一种方法是添加基于长格式数据集的点图层,将 color
映射到分组变量。
首先,通过 gather
从 tidyr.
df2 = tidyr::gather(df, group, value, -trt)
然后制作绘图,添加具有长数据集的新点层并使用 scale_color_manual
设置颜色。我将 geom_dumbbell
特定的美学移到了该层中。
ggplot(df, aes(y = trt)) +
geom_point(data = df2, aes(x = value, color = group), size = 3) +
geom_dumbbell(aes(x = l, xend = r), size=3, color="#e3e2e1",
colour_x = "red", colour_xend = "blue",
dot_guide=TRUE, dot_guide_size=0.25) +
theme_bw() +
scale_color_manual(name = "", values = c("red", "blue") )