我找不到一个如何做到这一点的例子。我正在尝试使用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")
这就是我所看到的。如何避开重叠的条形图?
答案 0 :(得分:6)
我认为你不能垂直躲闪,但另一种选择只是增加一点躲避自己。例如:
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)))
你必须使用躲避量,轴限制等,以获得给定宽高比所需的外观。
答案 1 :(得分:6)