如何在 ggplot2 中创建多组茎状图
How to Create Groups of Stem Plots in ggplot2
我想在 ggplot2 中创建一个干图,显示不同模型在各种性能指标上的排名。到目前为止,我已经设法使用 geom_point 创建了主干图的 'buds',但我无法让 geom_segment 与这些点对齐。
这是我目前的代码:
data = data.frame(Model = c("RTD", "STD", "RTC"), Measure = c("S", "n"), rank = c(1, 2, 3, 3, 1, 2))
dodge <- position_dodge(width=0.75)
ggplot(data = data, aes(x=Model, y=rank, color = Measure, group = interaction(Model, Measure))) + geom_point(size=4, position = dodge) + geom_segment( aes(x=Model+dodge, xend=Model+dodge, y=0, yend=rank))
这不起作用,因为 'dodge' 不是数字对象,所以我无法将它添加到模型的位置。有人知道解决方法吗?
将 geom_segment
调用更改为:
geom_linerange( aes(x=Model, ymin=0, ymax=rank), position = dodge)
我想在 ggplot2 中创建一个干图,显示不同模型在各种性能指标上的排名。到目前为止,我已经设法使用 geom_point 创建了主干图的 'buds',但我无法让 geom_segment 与这些点对齐。
这是我目前的代码:
data = data.frame(Model = c("RTD", "STD", "RTC"), Measure = c("S", "n"), rank = c(1, 2, 3, 3, 1, 2))
dodge <- position_dodge(width=0.75)
ggplot(data = data, aes(x=Model, y=rank, color = Measure, group = interaction(Model, Measure))) + geom_point(size=4, position = dodge) + geom_segment( aes(x=Model+dodge, xend=Model+dodge, y=0, yend=rank))
这不起作用,因为 'dodge' 不是数字对象,所以我无法将它添加到模型的位置。有人知道解决方法吗?
将 geom_segment
调用更改为:
geom_linerange( aes(x=Model, ymin=0, ymax=rank), position = dodge)