1. 程式人生 > >ggplot2包基本繪圖(4)-折線圖與面積圖

ggplot2包基本繪圖(4)-折線圖與面積圖

什麼是折線圖與面積圖

二者均呈現一種隨時間變化而改變範圍的圖表,但是在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())

在這裡插入圖片描述