R中的ggplot:如何通过相应的躲避点绘制一条线

时间:2016-11-21 20:12:53

标签: r ggplot2

我有一个类似于下面代码中的示例数据的数据集。我想在两个条件中连接相同ID的两个点,以便更好地看到从一个条件到另一个条件的个体变化。每个人只是一个人的一部分" group"但是对于这两个条件中的每一个都有一个值。谢谢你的任何想法!

library(ggplot2)
library(ggthemes)
ID <- c(1,1,2,2,3,3,4,4,5,5)
group <- c(20,20, 50, 50,20, 20, 80, 80, 80, 80)
condition <- c("med", "placebo","med", "placebo","med", "placebo","med", "placebo","med", "placebo")
PropYes <- c(0.13, 0.15, 0.25, 0.13, 0.54, 0.34, 0.23, 0.45, 0.142, 0.344)
exampleData <- data.frame(ID, group, condition, PropYes)
exampleData <- within(exampleData, {
  group <- as.factor(group)
  condition <- as.factor(condition)
})
#plot
p <- ggplot(exampleData, aes(x = group, y = PropYes, fill = condition)) 
p + geom_point(aes(colour = factor(condition)),position=position_dodge(width = 0.4)) + 
  theme_pander()+scale_color_ptol("condition") 

2 个答案:

答案 0 :(得分:1)

也许你想要这样的东西:

pd = position_dodge(width=0.4)
ggplot(exampleData, aes(x=factor(condition), y=PropYes, 
    color=factor(group), group=factor(ID))) + 
geom_point(position=pd) + geom_line(position=pd) + 
theme_pander()+scale_color_ptol("condition") 

enter image description here

答案 1 :(得分:0)

这是我通过示例数据改变的方式,并按照上面tkerwin的评论中的建议制作了情节,再次感谢你!

 if (User.IsInRole("SUPERADMIN"))
        {
          //Do something for SUPERADMIN
        }