可視化學(xué)習(xí)筆記(二):ggplot2:折線圖


1、簡(jiǎn)單折線圖

  • 折線圖的x既可以對(duì)應(yīng)離散性變量,也可以對(duì)應(yīng)連續(xù)型變量
  • 當(dāng)x對(duì)應(yīng)因子變量時(shí),必須使用group=1映射確保數(shù)據(jù)點(diǎn)屬于一個(gè)分組;否則可能會(huì)報(bào)錯(cuò)
BOD1 <- BOD
BOD1$Time <- factor(BOD1$Time)
ggplot(BOD1, aes(x=Time, y=demand, group=1)) + geom_line()

2、多重折線圖(分組折線圖)

在指定x和y映射參數(shù)的同時(shí),將另一個(gè)離散型變量映射給colour參數(shù)或linetype參數(shù)即可

與堆積條形圖不同的是,這里沒(méi)有使用填充fill而是使用colour或者linetype

library(plyr) #使用ddplyr函數(shù)
library(gridExtra) #將圖形整合
tg <- ddply(ToothGrowth,c("supp","dose"),summarize,
        length=mean(len)) #對(duì)數(shù)據(jù)集匯總
p1 <- ggplot(tg, aes(x=dose, y=length, colour=supp)) +
    geom_line();p1
p2 <- ggplot(tg, aes(x=dose, y=length, linetype=supp)) +
    geom_line();p2
grid.arrange(p1, p2, ncol=2)
  • 當(dāng)將x作為分類(lèi)變量處理時(shí),將x轉(zhuǎn)化為因子后,還要對(duì)group進(jìn)行映射,否則會(huì)報(bào)錯(cuò)

  • group的映射與填色的映射變量指定是一樣的

  • 如果分組不正確還會(huì)出現(xiàn)錯(cuò)誤的折線圖

  • 有時(shí)數(shù)據(jù)標(biāo)記(shape)會(huì)重疊,需要使用position=position_dodge(#)選項(xiàng)來(lái)將其偏離

3、樣式修改

3.1 基本樣式

線條樣式可以分別由linetype 、size、colour來(lái)設(shè)定

geom_line(...., linetype=" ", size=#, colour=" ")

3.2手動(dòng)修改填色

與bar chart的手動(dòng)修改填色函數(shù)類(lèi)似,使用以下函數(shù)可以手動(dòng)設(shè)定顏色:

scale_colour_brewer()
scale_colour_manual()

4、繪制面積圖

geom_area()

4.1堆積面積圖

使用fill參數(shù)對(duì)面積圖geom_area()進(jìn)行映射填充即可

  • 需要注意的是堆積面積圖的基礎(chǔ)數(shù)據(jù)為寬格式,而ggplot2則要求長(zhǎng)格式
  • 可能需要注意圖例反轉(zhuǎn)問(wèn)題

4.2堆積百分比面積圖

步驟類(lèi)似于堆積百分比條形圖,最主要的一步是將要展示的數(shù)據(jù)轉(zhuǎn)換成百分比形式

5、置信區(qū)間

使用geom_ribbon()函數(shù),然后分別映射一個(gè)變量給ymin與ymax

  • 需要注意的是,先繪制置信區(qū)間再繪制折線圖可以使得折線圖覆蓋在上面
  • 如果模糊不清可以通過(guò)設(shè)定透明度來(lái)調(diào)整
  • 對(duì)于上下置信區(qū)間,可以使用linetype來(lái)指定繪制區(qū)間線條的樣式

5.1 使用線條來(lái)繪制置信區(qū)間

可以分別使用geom_line()來(lái)分別對(duì)置信區(qū)間的上界和下界進(jìn)行映射,即可繪制出沒(méi)有填充的置信區(qū)間線條

ggplot(climate, aes(x=Year, y=Anomaly10y)) +
  geom_line(aes(y=Anomaly10y-Unc10y), colour="grey50", linetype="dotted") +
  geom_line(aes(y=Anomaly10y+Unc10y), colour="grey50", linetype="dotted") +
  geom_line()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容