ggplot2包基本繪圖(4)-折線圖與面積圖
阿新 • • 發佈:2018-12-14
什麼是折線圖與面積圖
二者均呈現一種隨時間變化而改變範圍的圖表,但是在excel中折線圖與面積圖的x軸資料均為分類資料,這是其與散點圖最大的區別。 因此在ggplot2中需要新增一組數值變數以反映這個趨勢,如果已經是數值變數,那麼折線圖與散點折線圖沒有區別。
折線圖
library(tidyverse)
str(mpg)
#
dat3<-mpg%>%group_by(year,class)%>%summarize(mean_cty=mean(cty))
dat3$id<-rep(1:7,2) #將分類變數賦予數值
#用geom——line實現效果,並在座標軸標註分類
ggplot (dat3,aes(x=id,y=mean_cty,color=as.factor(year)))+geom_line(size=2)+
scale_x_continuous(name="Class",breaks=unique(dat3$id),labels=unique(dat3$class))+
theme(legend.title=element_blank())
堆積折線圖
通過改變position引數
#堆積折線圖,position=stack/fill ggplot(dat3,aes(x=id,y=mean_cty,color=as.factor(year)))+geom_line(size=2,position="stack")+ scale_x_continuous(name="Class",breaks=unique(dat3$id),labels=unique(dat3$class))+ theme(legend.title=element_blank())
面積圖
ggplot2中有面積圖物件 geom_area,可直接實現
ggplot(dat3,aes(x=class,group=year))+geom_area(aes(y=mean_cty,fill=as.factor(year)),position="stack")+ theme(legend.title=element_blank())