R語言繪圖從入門到精通07--柱狀圖美化之如何加標簽

本系列課程要求大家有一定的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

往期文章

  1. R語言繪圖(ggplot2、ggpurb)從入門到精通01--課程介紹
  2. R語言繪圖(ggplot2、ggpurb)從入門到精通02--柱狀圖和直方圖
  3. R語言繪圖(ggplot2、ggpurb)從入門到精通03--箱式圖和函數(shù)圖像
  4. R語言繪圖(ggplot2、ggpurb)從入門到精通04--柱狀圖美化之調(diào)色
  5. R語言繪圖(ggplot2、ggpurb)從入門到精通05--柱狀圖美化之分組修改
  6. R語言繪圖(ggplot2、ggpurb)從入門到精通06--柱狀圖美化之寬度調(diào)節(jié)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容