《ggplot2-EGDA》 -chapter4-ggplot2裏圖層的概覽
阿新 • • 發佈:2017-10-01
創建 transform 變量 alt osi ams mapping null bmob
- ggplot函數調用基本形式:
ggplot(數據框形式的數據,aes())
p <- ggplot(diamonds, aes(carat,colour = cut)) ##這一步只是創建了一個ggplot的對象,還未加入圖層,尚且什麽也看不見
- layer(geom, geom_params, stat, stat_params, data, mapping,position)
layer(幾何對象,幾何變換參數,統計量,統計變換參數,數據,映射,位置調整)
- 因為幾何變換和統計變化是對應的,故只需要+geom_xxx()或者+stat_xxx()圖層
p<-p+geom_histogram(binwidth = 0.02,fill="steelblue")$layers #使用$layers可以查看圖形對象的圖層 #stat_identity()和geom_point是一組對應 #geom_bar()和stat_bin()
- 一個完整的ggplot函數包括創建圖形對象和添加圖層
- 將圖層編輯保存起來,可方便調用
bestfit <- geom_smooth(method = "lm", se = F, colour = alpha("steelblue", 0.5), size = 2)####半透明深藍色回歸線的圖層
p <- ggplot(mtcars, aes(mpg, wt, colour = cyl)) + geom_point() p mtcars <- transform(mtcars, mpg = mpg ^ 2)##使用transform函數修改數據框裏變量的數據 p %+% mtcars ##更新圖形對象裏的數據集
使用+aes()可以添加、修改、刪除+aes(y=NULL)
- 分組
##使用分組參數 ##忘記時可以使用?geom_line 查看幫助 p<-ggplot(Oxboys, aes(age, height, group = Subject,colour=Subject)) p+geom_line()
##分組參數group的含義就是把data拆成不同的組,最後在圖層用相同的方式渲染
ggplot(diamonds, aes(carat)) + geom_histogram(aes(y = ..density..), binwidth = 0.1) ##繪制頻率密度(縱坐標是頻率除組距)直方圖
- 位置調整
p <- ggplot(diamonds, aes(clarity,fill=cut)) p+geom_bar()
p + geom_bar(position=‘stack‘)##缺省為堆疊
p + geom_bar(position=‘fill‘) #fill填充 與堆疊類似,但高度標準化為1
library(RColorBrewer)
p <- ggplot(diamonds, aes(clarity,fill=cut)) p+geom_bar() p + geom_bar(position=‘stack‘)+scale_fill_brewer(palette="YlOrRd")
增加最後一個設置,得到統一配色
章末,文章給出了一個類似計量經濟模型的調試過程,沒有細看
《ggplot2-EGDA》 -chapter4-ggplot2裏圖層的概覽