我正在尝试使用如下所示的数据集创建棒棒糖图:
set.seed(123)
example_df <- data.frame(strategy = as.factor(rep(LETTERS[1:5], each = 2)),
mt_equip = as.factor(rep(c('r', 'v'), times = 5)),
cc = as.factor(c('cc', 'cc', 'no_cc', 'no_cc', 'part_cc', 'part_cc', 'cc', 'cc', 'no_cc', 'no_cc')),
vt = as.factor(c(rep('d10', 4), rep('d1+d10', 2), rep('d1', 4))),
model_ouput = rnorm(10)
)
example_df
strategy mt_equip cc vt model_ouput
1 A r cc d10 -0.56047565
2 A v cc d10 -0.23017749
3 B r no_cc d10 1.55870831
4 B v no_cc d10 0.07050839
5 C r part_cc d1+d10 0.12928774
6 C v part_cc d1+d10 1.71506499
7 D r cc d1 0.46091621
8 D v cc d1 -1.26506123
9 E r no_cc d1 -0.68685285
10 E v no_cc d1 -0.44566197
我的目标是制作一个棒棒糖情节,以便:
- 它们按照规范进行分组
cc和着色mt_equip。shape - 在每个
cc类别中,棒棒糖从低到高排序。 - 棒棒糖应该分开,而不是像图中所示的那样缠绕在一起。
我尝试了包中的geom_lollipop()选项,ggalt如下所示:
library(ggalt)
option2 <- ggplot(data = example_df,
aes(x = reorder(cc, model_ouput))) +
geom_lollipop(aes(y = model_ouput,
shape = mt_equip,
color = cc),
size = 5) +
scale_shape_manual(values = c(21, 24))
plot(option2)
这就是我得到的:
我怎样才能:
- 解开棒棒糖,让每个棒棒糖在
cc群体中独立存在? - 将(1)中解开的棒棒糖从低到高排序?我试过
reorder了,但没有产生如图所示的设计效果。 - 使条形空心以进行颜色和笔触的后处理?
谢谢您的帮助。

