我有一個有三個ECDF和三條垂直線條的繪圖,並且無法獲得stat_ecdf圖例的線條顏色以匹配實際的線條顏色。無法獲取stat_ecdf圖例的線條顏色以匹配繪圖顏色和刪除水平線條
這裏是剛剛ECDF情節代碼:
set.seed(124)
allDTI <- data.frame(values=rnorm(1000,500,200),type=sample(LETTERS[1:3],1000,T))
meanALLDTI <- ddply(allDTI, "type", summarise, values.mean=mean(values, na.rm=TRUE), n)
ggplot(allDTI, aes(x=values, color=type)) +
stat_ecdf(size=1, show_guide=T) +
xlab(expression('Index Value')) +
ylab("Cumulative Density") +
ggtitle(expression(TI[d]~'and'~TI[l]~'and'~TI[w])) +
scale_x_continuous(expand = c(0,0)) +
scale_y_continuous(expand = c(0,0)) +
theme(text = element_text(size=20),
plot.title = element_text(size=30,face="bold",vjust=1),
axis.title.x=element_text(size=20,face="bold",vjust=0,hjust=0.5),
axis.title.y=element_text(size=20,face="bold",vjust=1.0,hjust=0.5),
legend.position = c(0.85, 0.25),
legend.text.align = 0,
legend.box = 'horizontal',
legend.margin = unit(45.0, 'line'),
legend.text=element_text(size=28,vjust=0,hjust=0),
legend.key.height = unit(1.5, 'line'),
legend.key.width = unit(1.5, 'line'),
panel.background = element_rect(fill = "white")) +
scale_color_manual(values=c('grey10','grey30','grey50'),
labels=c(expression(TI[d]),expression(TI[l]),
expression(TI[w]))) +
guides(color = guide_legend(title=NULL))
這裏是劇情:
但我無法弄清楚如何添加垂直線我想以我想要添加的方式添加:
代碼:
ggplot(allDTI, aes(x=values, color=type)) +
stat_ecdf(size=1, show_guide=T) +
xlab(expression('Index Value')) +
ylab("Cumulative Density") +
ggtitle(expression(TI[d]~'and'~TI[l]~'and'~TI[w])) +
scale_x_continuous(expand = c(0,0)) +
scale_y_continuous(expand = c(0,0)) +
theme(text = element_text(size=20),
plot.title = element_text(size=30,face="bold",vjust=1),
axis.title.x=element_text(size=20,face="bold",vjust=0,hjust=0.5),
axis.title.y=element_text(size=20,face="bold",vjust=1.0,hjust=0.5),
legend.position = c(0.85, 0.25),
legend.text.align = 0,
legend.box = 'horizontal',
legend.margin = unit(45.0, 'line'),
legend.text=element_text(size=28,vjust=0,hjust=0),
legend.key.height = unit(1.5, 'line'),
legend.key.width = unit(1.5, 'line'),
panel.background = element_rect(fill = "white")) +
scale_color_manual(values=c('grey10','grey30','grey50'),
labels=c(expression(TI[d]),expression(TI[l]),
expression(TI[w]))) +
guides(color = guide_legend(title=NULL)) +
geom_vline(data=meanALLDTI, aes(xintercept=values.mean, colour=type),
linetype="dashed", size=1, show_guide=T) +
scale_linetype_manual(values=c('grey10','grey30','grey50'),
labels=c(expression(bar(TI[d])),expression(bar(TI[l])),
expression(bar(TI[w])))) +
guides(linetype= guide_legend(title=NULL))
由於我想要的一個例子,在這裏是怎麼出來的,我用密度圖:
爲了去除水平線,您可以用'panel.grid.major.y = element_blank()'和'panel.grid.minor。 y = element_blank()'。爲了更好地設置圖例的樣式,請參閱[本示例](http://stackoverflow.com/a/33237559/2204410) – Jaap
此外:提供[可重現的示例]總是很好(http://stackoverflow.com/questions/ 5963269 /如何對化妝一個偉大-R-重複性,例如/ 5963610)。這使得其他人更容易幫助你。 – Jaap
我不是在談論數據框中的水平線。但傳說中的水平線。另外,我已經完成了十多次這個例子,並且不知道該怎麼做。另外,如果我新的如何輕鬆填充隨機數據的數據幀,我會的。 – traggatmot