[英]ggplot2 - change colour in confidence interval
我想將置信區間的顏色與其所屬的誤差線的顏色相同。
rat3 <- rep(c(1:6,6:2,3:1,2:4), 20)
logRT <- rep(seq(from=6, to=7.6, by=0.1), 20)
condition <- rep(c("c","i"),170)
condition <- as.factor(condition) #turns to 1-2, is c-i in my data
meto <- cbind(rat3, logRT, condition)
meto <- as.data.frame(meto) #this produces a df similar to mine
這是情節的代碼:
barmeto <- ggplot(meto, aes(rat3, logRT, colour=condition)) #assign
barmeto + geom_smooth(method="lm") +
stat_summary(fun.data=mean_cl_boot, geom="errorbar", lwd=1.5) +
scale_colour_grey(start=0.15, end=0.5)
它產生帶有兩個相同淺灰色漏斗的圖像。 抱歉,除了這樣,我無法上傳,嵌入或發布圖片鏈接: https : //stats.stackexchange.com/questions/268740/ggplot2-change-colour-of-ci
我需要兩個漏斗具有不同的顏色。 很短的一個應該像它所屬於的誤差線一樣為黑色(短漏斗黑色),長的一個像它的誤差線一樣為較深的灰色。
我將不勝感激,謝謝! 到目前為止,我在這里找到的任何食譜都沒有對我有用。
要重現鏈接到的所需圖,應將aes
填充和顏色設置為分解條件,並添加scale_fill_grey
:
# factor condition variable in meto
meto$condition <- factor(meto$condition)
# plot with fill and colour aes
barmeto <- ggplot(meto, aes(rat3, logRT, colour=condition, fill=condition))
barmeto + geom_smooth(method="lm") +
stat_summary(fun.data=mean_cl_boot, geom="errorbar", lwd=1.5) +
scale_colour_grey(start=0.15, end=0.5) +
scale_fill_grey(start=0.15, end=0.5)
由於在此示例情況下您的回歸線重疊,因此您可能還想為每個條件設置線型或線寬。 您的灰度值與背景也非常接近,請嘗試使用更多不同的值和/或將其設置為theme_bw()。
例如,下面的代碼具有aes和theme_bw()的大小,生成下面的圖:
barmeto <- ggplot(meto, aes(rat3, logRT, colour=condition, fill=condition, size=condition))
barmeto + geom_smooth(method="lm") +
stat_summary(fun.data=mean_cl_boot, geom="errorbar") +
scale_colour_grey(start=0.1, end=0.5) +
scale_fill_grey(start=0.1, end=0.5) +
scale_size_manual(values=c(2,1)) +
theme_bw()
編輯為回答評論問題,要編輯線型,您可以在es上設置它,可以在這里看到線型選擇: http : //www.cookbook-r.com/Graphs/Shapes_and_line_types/
barmeto <- ggplot(meto, aes(rat3, logRT, colour=condition, fill=condition, size=condition, linetype=condition))
barmeto + geom_smooth(method="lm") +
stat_summary(fun.data=mean_cl_boot, geom="errorbar") +
scale_colour_grey(start=0.1, end=0.5) +
scale_fill_grey(start=0.1, end=0.5) +
scale_size_manual(values=c(2,1)) +
scale_linetype_manual(values=c("solid", "twodash")) +
theme_bw()
您仍然會遇到回歸線重疊的問題,在這種情況下,您可能只希望按條件進行換行:
barmeto <- ggplot(meto, aes(rat3, logRT, colour=condition, fill=condition))
barmeto + geom_smooth(method="lm") +
stat_summary(fun.data=mean_cl_boot, geom="errorbar", lwd=1.5) +
scale_colour_grey(start=0.15, end=0.5) +
scale_fill_grey(start=0.15, end=0.5) +
facet_wrap(~condition) + theme_bw()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.