我找不到有关如何执行此操作的示例。我正在尝试使用geom_line
画线,但避开了重叠的元素,这似乎不起作用。
这是我的数据:
> sa
id ep type grp variable value
1: 1 1 typ1 1 st 1
2: 1 2 typ1 2 st 60
3: 1 3 typ1 3 st 120
4: 1 1 typ2 4 st 20
5: 1 2 typ2 5 st 60
6: 2 1 typ1 6 st 1
7: 2 2 typ1 7 st 80
8: 2 3 typ1 8 st 170
9: 2 1 typ2 9 st 10
10: 2 2 typ2 10 st 60
11: 2 3 typ2 11 st 120
12: 1 1 typ1 1 en 50
13: 1 2 typ1 2 en 100
14: 1 3 typ1 3 en 150
15: 1 1 typ2 4 en 40
16: 1 2 typ2 5 en 100
17: 2 1 typ1 6 en 40
18: 2 2 typ1 7 en 150
19: 2 3 typ1 8 en 200
20: 2 1 typ2 9 en 50
21: 2 2 typ2 10 en 90
22: 2 3 typ2 11 en 190
这是我的简单代码,试图避开
typ1
和typ2
的重叠值 ggplot(sa,aes(x=value,y=id,group=grp,color=type)) + geom_line(size=6,position="dodge")
这就是我所看到的。如何避开重叠的条形?
最佳答案
我不认为您可以垂直躲避,但是另一种选择是添加一些自己的躲避功能。例如:
eps = 0.05
ggplot(sa, aes(x=value, y=ifelse(type=="typ1", id + eps, id - eps),
group=grp, color=type)) +
geom_line(size=6) +
scale_y_continuous(breaks=1:2, limits=c(min(sa$id-eps), max(sa$id+eps)))
您必须试着躲避数量,轴限制等,以获得给定宽高比所需的外观。