本系列課程要求大家有一定的R語言基礎(chǔ),對于完全零基礎(chǔ)的同學,建議去聽一下師兄的《生信必備技巧之——R語言基礎(chǔ)教程》。本課程將從最基本的繪圖開始講解,深入淺出的帶大家理解和運用強大而靈活的ggplot2包。內(nèi)容包括如何利用ggplot2繪制散點圖、線圖、柱狀圖、添加注解、修改坐標軸和圖例等。
本次課程所用的配套書籍是:《R Graphic Cookbooks》
除了以上的基本圖形外,師兄還會給大家講解箱線圖、提琴圖、熱圖、火山圖、氣泡圖、桑基圖、PCA圖等各種常用的生信圖形的繪制,還不趕緊加入收藏夾,跟著師兄慢慢學起來吧!
第二章:柱狀圖深入探究
- 柱狀圖加標簽:
# 添加標簽:
library(ggplot2)
library(gcookbook)
cabbage_exp <- cabbage_exp
# 標簽位置的設(shè)定:vjust參數(shù);
ggplot(cabbage_exp, aes(x=interaction(Date, Cultivar), y=Weight)) +
geom_bar(stat="identity") +
geom_text(aes(label=Weight), vjust=1.5, colour="white")
加標簽01
ggplot(cabbage_exp, aes(x=interaction(Date, Cultivar), y=Weight)) +
geom_bar(stat="identity") +
geom_text(aes(label = Weight), vjust=-0.2)
# 為了防止標簽跑出圖形,可以調(diào)整y軸的范圍:
# 方法一:ylim()函數(shù):
ggplot(cabbage_exp, aes(x=interaction(Date, Cultivar), y=Weight)) +
geom_bar(stat="identity") +
geom_text(aes(label=Weight), vjust=-0.2) +
ylim(0, max(cabbage_exp$Weight)* 1.05)
# 方法二:以weight為基準,調(diào)節(jié)y值,圖形高度會自動適配:
ggplot(cabbage_exp, aes(x=interaction(Date, Cultivar), y=Weight))+
geom_bar(stat="identity")+
geom_text(aes(y = Weight + 0.1, label = Weight))
加標簽02
# 分組柱狀圖加標簽:需要設(shè)定position_dodge(),以調(diào)整字體的合適位置;
ggplot(cabbage_exp, aes(x=Date, y=Weight, fill=Cultivar))+
geom_bar(stat = "identity", position = "dodge") +
geom_text(aes(label=Weight), vjust=1.5, color="white",
position=position_dodge(.9), size=3)
加標簽03
library(plyr)
# 堆積柱狀圖添加lable
ce <- arrange(cabbage_exp, Date, Cultivar)
ce<-ddply(ce, "Date", transform, label_y=cumsum(Weight))
ce$Cultivar <- factor(ce$Cultivar,levels = c("c52","c39"))
ggplot(ce, aes(x=Date, y=Weight, fill=Cultivar))+
geom_bar(stat="identity") +
geom_text(aes(y=label_y, label=Weight), vjust=1.5, colour="white")
# 修改lable至中央:
ce <- arrange(cabbage_exp, Date, Cultivar)
ce<-ddply(ce, "Date", transform, label_y=cumsum(Weight)-0.5*Weight)
ce$Cultivar <- factor(ce$Cultivar,levels = c("c52","c39"))
ggplot(ce, aes(x=Date, y=Weight, fill=Cultivar))+
geom_bar(stat="identity") +
geom_text(aes(y=label_y, label=Weight), vjust=1.5, colour="white")
加標簽04
# 添加單位,并修改顏色模式
ggplot(ce, aes(x=Date, y=Weight, fill=Cultivar))+
geom_bar(stat="identity", colour="black")+
geom_text(aes(y=label_y, label=paste(format(Weight, nsmall=2), "kg")),size=4)+
scale_fill_brewer(palette="Pastel1")
加標簽05