Dodge使用ggplot2指向点char

时间:2015-06-10 22:21:31

标签: r ggplot2

鉴于data.table:

df = data.table(type=rep(letters[1:3], each=2), count=c(1, 1, 4, 4, 4, 4), year=rep(c('2013', '2014'), 3))

type  count  year
a     1      2013
a     1      2014
b     4      2013
b     4      2014
c     4      2013
c     4      2014

我尝试绘制点图和折线图以显示count对年份:

p = ggplot(data=df, aes(x=year, y=count, group=type, color=type)) + geom_line() + geom_point(position=position_dodge(height=1)) 

看起来像:
enter image description here

似乎垂直躲闪不起作用。

如果我生成情节:

p = ggplot(data=df, aes(x=year, y=count, group=type, color=type)) + geom_line() + geom_point(position=position_dodge(width=1))

然后情节看起来像:

水平躲闪的作用。

我怎样才能使垂直闪避(第一个情节)起作用?

2 个答案:

答案 0 :(得分:0)

迂回解决方案:你可以做水平躲闪和翻转轴

p = ggplot(data=df, aes(x=count, y=year, group=type, color=type)) + 
  geom_line(position=position_dodge(width=1)) + 
  geom_point(position=position_dodge(width=1)) +
  coord_flip()
p

enter image description here

答案 1 :(得分:0)

我向Hadley咨询了这个问题,他回答说

  

仅针对具有ymin和ymax

的geoms定义躲避

详情可在Issue 1119找到。