本系列課程要求大家有一定的R語(yǔ)言基礎(chǔ)隙弛,對(duì)于完全零基礎(chǔ)的同學(xué)架馋,建議去聽一下師兄的《生信必備技巧之——R語(yǔ)言基礎(chǔ)教程》。本課程將從最基本的繪圖開始講解驶鹉,深入淺出的帶大家理解和運(yùn)用強(qiáng)大而靈活的ggplot2包绩蜻。內(nèi)容包括如何利用ggplot2繪制散點(diǎn)圖、線圖室埋、柱狀圖、添加注解伊约、修改坐標(biāo)軸和圖例等姚淆。
本次課程所用的配套書籍是:《R Graphic Cookbooks》
除了以上的基本圖形外,師兄還會(huì)給大家講解箱線圖屡律、提琴圖腌逢、熱圖、火山圖超埋、氣泡圖搏讶、桑基圖霍殴、PCA圖等各種常用的生信圖形的繪制媒惕,還不趕緊加入收藏夾,跟著師兄慢慢學(xué)起來吧来庭!
第二章:柱狀圖深入探究
- 分組柱狀圖
#######################
## 分組柱狀圖
library(gcookbook) # 包內(nèi)含有需要的數(shù)據(jù)妒蔚;
cabbage_exp <- cabbage_exp
ggplot(cabbage_exp,aes(Date, Weight, fill = Cultivar)) +
geom_bar(position = "dodge",stat = "identity",color = "black")
ggplot(cabbage_exp,aes(Date, Weight, fill = Cultivar)) +
geom_bar(stat = "identity") # 默認(rèn)的position = "stack";
# 此外月弛,除了fill可以指定分組變量肴盏,color、linestyle也可以指定帽衙;
ggplot(cabbage_exp,aes(Date, Weight, color = Cultivar)) +
geom_bar(position = "dodge",stat = "identity")
# 請(qǐng)注意菜皂,如果類別變量的組合有任何缺失,則該欄將缺失厉萝,相鄰的欄將擴(kuò)展以填充該空間恍飘。
ce = cabbage_exp[1:5,]
ggplot(ce,aes(Date, Weight, fill = Cultivar)) +
geom_bar(position = "dodge",stat = "identity",color = "black") +
scale_fill_brewer(palette = "Pastel1")
# 實(shí)際情況下確實(shí)存在有一種類別沒有對(duì)應(yīng)的y值,此時(shí)可以使用NA或者0代替冀泻;
ce_NA <- cabbage_exp
ce_NA$Weight[6] <- 0
ggplot(ce_NA,aes(Date, Weight, fill = Cultivar)) +
geom_bar(position = "dodge",stat = "identity",color = "black") +
scale_fill_brewer(palette = "Pastel1")
- 修改顏色技巧補(bǔ)充:
#######################
## 修改顏色的技巧:
library(gcookbook)
upc <-subset(uspopchange, rank(Change)>40)
upc
ggplot(upc, aes(x=Abb, y=Change, fill=Region)) + geom_bar(stat="identity")
# 此示例還使用reorder()函數(shù)常侣,將條形按其高度進(jìn)行排序;
ggplot(upc, aes(x=reorder(Abb, Change), y=Change, fill = Region)) +
geom_bar(stat="identity", color="black") +
scale_fill_manual(values=c("#669933", "#FFCC66")) +
xlab("State")
#######################
## 正負(fù)兩極不同的著色:
csub <- subset(climate, Source == "Berkeley" & Year >= 1900)
# 思路:顏色根據(jù)正負(fù)數(shù)來填充弹渔?怎么識(shí)別正負(fù)數(shù)呢胳施?
# 只能新建一個(gè)字段:該字段描述了正和負(fù);
# 指定fill為該字段肢专;
csub$pos <- csub$Anomaly10y >= 0
csub
ggplot(csub, aes(x=Year, y=Anomaly10y, fill=pos))+
geom_bar(stat="identity", position="identity")
# 使用scale_fill_manual()修改顏色舞肆;guide = False參數(shù)去掉圖例
ggplot(csub, aes(x=Year, y=Anomaly10y, fill=pos)) +
geom_bar(stat="identity", position="identity",color="black", size=0.25)+
scale_fill_manual(values=c("#CCEEFF", "#FFDDDD"), guide=FALSE)