R ggplot2中geom_步骤中的线边框

R ggplot2中geom_步骤中的线边框,r,ggplot2,R,Ggplot2,我以前没有用这个问过任何问题,所以如果我没有提供足够详细的需要/解释,请原谅我。我在ggplot2中使用geom_step尝试为具有两个独立的两级因子(编码为单个四级因子)的数据生成步长曲线。我希望第一个因素(在下面,A对B)用颜色表示,第二个因素(在下面,1对2)用线条填充表示,即填充对白色。以下是我正在寻找的经过编辑的模型: 是否可以将边框添加到由ggplot2中的geom_step构建的线 如果没有,我可以用较小的线宽和不同的颜色覆盖第二个geom_步骤行,以“手动”添加线条填充吗?我尝

我以前没有用这个问过任何问题,所以如果我没有提供足够详细的需要/解释,请原谅我。我在
ggplot2
中使用
geom_step
尝试为具有两个独立的两级因子(编码为单个四级因子)的数据生成步长曲线。我希望第一个因素(在下面,A对B)用颜色表示,第二个因素(在下面,1对2)用线条填充表示,即填充对白色。以下是我正在寻找的经过编辑的模型:

是否可以将边框添加到由
ggplot2
中的
geom_step
构建的线

如果没有,我可以用较小的线宽和不同的颜色覆盖第二个
geom_步骤
行,以“手动”添加线条填充吗?我尝试在
缩放颜色\u手册
术语中添加另一个具有不同颜色的几何步骤,但这只是复制了第一个
几何步骤
曲线,并返回消息“颜色的比例已存在。为“颜色”添加另一个比例,将替换现有比例。”

下面是示例代码

events <- rep(c(0,1,2,3,4),4)
individual <- (as.factor(rep(c("A1","A2","B1","B2"),each=5)))
step <- c(1,2,3,4,5,3,4,5,6,7,5,6,7,8,9,7,8,9,10,11)
df <- data.frame(events,individual,step)

ggplot(df, aes(x=events, group=individual, colour=individual, y=step)) + 
  geom_step(size=1.8) +
  scale_colour_manual(values=c("green2","green2", "orange", "orange"), name="Individual")

events这不是一个完整的解决方案:

通过添加另一个geom_step命令,添加白色条带相当容易:

events<-rep(c(0,1,2,3,4),4)
individual<-(as.factor(rep(c("A1","A2","B1","B2"),each=5)))
step<-c(1,2,3,4,5,3,4,5,6,7,5,6,7,8,9,7,8,9,10,11)
filled <- rep(c(FALSE,TRUE),each=5)

data_frame<-data.frame(events,individual,step,filled)
ggplot(data_frame, aes(x=events, group=individual, colour=individual, y=step)) + 
geom_step(size=1.8) +
scale_colour_manual(values=c("green2","green2", "orange", "orange"), name="Individual") +
geom_step(data=df[df$filled,], size=1.1, colour="white")
。。。并将其用于绘图颜色

ggplot(data_frame, aes(x=events, group=individual, colour=individual, y=step)) + 
geom_step(size=1.8) +
scale_colour_manual(values=c(lighten_colour("green2"),
                             "green2",
                             lighten_colour("orange"),
                             "orange"),
                    name="Individual")

如果您的绘图是
g
,则使用
g+geom_步骤(data=df[grepl(“2”,个人),],col=“white”,size=1)
按照您的建议绘制白色条带。[注意:您需要在
geom_步骤中添加另一个
data=
]。但这不会影响传说
ggplot(data_frame, aes(x=events, group=individual, colour=individual, y=step)) + 
geom_step(size=1.8) +
scale_colour_manual(values=c(lighten_colour("green2"),
                             "green2",
                             lighten_colour("orange"),
                             "orange"),
                    name="Individual")