ggplot2中的成对点比较

时间:2016-01-21 12:54:58

标签: r ggplot2

在这个数据集中,我想比较成对观察并使用每个观察(a-d)和一条线的两个点(前后)。该线应根据点之间的关系着色(蓝色表示正值,红色表示负值)。关于如何在ggplot中执行此操作的任何想法?

obs<-c('a','b','c','d') 
before<-c(2,4,6,8)
after<-c(4,2,8,4) 
df<-cbind(before, after)
row.names(df)=obs
as.data.frame(df)

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

library(ggplot2)
library(tidyr)

df <- as.data.frame(df)
df$col <- factor(df$after - df$before > 0,labels=c("descending","ascending"))

df$obs <- obs

df_l <- gather(df,key,value,-col,-obs)
df_l
ggplot(df_l,aes(x=key,y=value,colour=col,group=obs)) + 
  geom_line()

enter image description here