R ggplot2-多行打印序列

R ggplot2-多行打印序列,r,ggplot2,R,Ggplot2,我有一个大型数据集,其中个人的价值随着时间的推移而增加,状态为1或0。我可以为每一个随时间增加的个体绘制一条线,根据它们是0还是1给线上色 我不知道如何把所有的0都画在所有的1上面,这样零就不会有任何1在它们上面了 我已将它们分配到组,然后设置组顺序,并尝试按组绘图,但这不起作用 为了演示这个问题,我可以使用ChickWeight数据集。如果我使用下面的脚本进行绘图,那么灰线位于蓝色的顶部,我希望能够使用蓝色为chick 1进行绘图,但蓝线位于灰色线的顶部 ggplot(ChickWeight,

我有一个大型数据集,其中个人的价值随着时间的推移而增加,状态为1或0。我可以为每一个随时间增加的个体绘制一条线,根据它们是0还是1给线上色

我不知道如何把所有的0都画在所有的1上面,这样零就不会有任何1在它们上面了

我已将它们分配到组,然后设置组顺序,并尝试按组绘图,但这不起作用

为了演示这个问题,我可以使用ChickWeight数据集。如果我使用下面的脚本进行绘图,那么灰线位于蓝色的顶部,我希望能够使用蓝色为chick 1进行绘图,但蓝线位于灰色线的顶部

ggplot(ChickWeight, aes(x=Time, y=weight, colour=Chick))+
geom_point(aes(colour=Diet,shape=Diet),size=1.5)+
geom_line(aes(colour=Diet,group=Chick))+
scale_colour_manual(values=c('blue','grey','grey','grey'))

可能最容易使用双几何图形来控制打印顺序:

ggplot(mapping = aes(x=Time, y=weight, colour=Diet, group=Chick, shape=Diet))+
    geom_line(data = ChickWeight[ChickWeight$Diet != '1', ])+
    geom_line(data = ChickWeight[ChickWeight$Diet == '1', ])+
    geom_point(size=1.5, data = ChickWeight[ChickWeight$Diet != '1', ])+
    geom_point(size=1.5, data = ChickWeight[ChickWeight$Diet == '1', ])+
    scale_colour_manual(values=c('blue','grey','grey','grey'))

可能最容易使用双几何图形来控制打印顺序:

ggplot(mapping = aes(x=Time, y=weight, colour=Diet, group=Chick, shape=Diet))+
    geom_line(data = ChickWeight[ChickWeight$Diet != '1', ])+
    geom_line(data = ChickWeight[ChickWeight$Diet == '1', ])+
    geom_point(size=1.5, data = ChickWeight[ChickWeight$Diet != '1', ])+
    geom_point(size=1.5, data = ChickWeight[ChickWeight$Diet == '1', ])+
    scale_colour_manual(values=c('blue','grey','grey','grey'))

我认为如果将几何图形顺序更改为1)线,然后点为灰色,然后是2)线,然后点为灰色,效果会更好blue@dww是的,没错。原理应该很清楚。我认为如果你把几何顺序改为1)线,然后点为灰色,然后2)线,然后点为灰色,你会得到更好的结果blue@dww是的,没错。但原则应该是明确的。