连接ggplot2的x值内的点?

时间:2015-12-06 20:03:11

标签: r ggplot2

我正在绘制一系列由两个因素分组的点。我希望在一个组中将线条添加到另一个组中并且在x值内(跨越位置 - 闪避距离)以在视觉上突出显示数据中的趋势。

geom_line(),geom_segment()和geom_path()似乎都只绘制到实际的x值而不是数据点的位置闪避位置。有没有办法在x值中添加连接点的线?

这是一个结构相似的样本:

# Create a sample data set
d <- data.frame(expand.grid(x=letters[1:3], 
                g1=factor(1:2), 
                g2=factor(1:2)),      
                y=rnorm(12))

# Load ggplot2
library(ggplot2)

# Define position dodge
pd <- position_dodge(0.75)

# Define the plot
p <- ggplot(d, aes(x=x, y=y, colour=g1, group=interaction(g1,g2))) +
     geom_point(aes(shape = factor(g2)), position=pd) +
     geom_line()

# Look at the figure
p

# How to plot the line instead across g1, within g2, and within x?

1 个答案:

答案 0 :(得分:1)

只是想关闭这个问题(@Axeman请随时接管我的回答)。

p <- ggplot(d, aes(x=x, y=y, colour=g1, group=interaction(g1,g2))) +
     geom_point(aes(shape = factor(g2)), position=pd) +
     geom_line(position = pd)

# Look at the figure
p

enter image description here