原文鏈接:使用ggplot繪制柱狀圖,在柱子中顯示數值和顯著性
本期教程
獲得本期教程示例數據,后臺回復關鍵詞:20240628。(PS:在社群中,可獲得往期和未來教程所有數據和代碼)
往期教程部分內容
寫在前面
基于ggplot繪制柱狀圖,小技巧,很基礎的圖形。但是,越到后面,會發現,越是基礎的圖形,我們使用的頻率越高。今天的教程是基于發芽指數來繪制,我們模擬一個發芽數和天數,計算出發芽指數。
代碼
##'@在柱狀圖中顯示數字
##'@2024.06.28
##'@
##'@小杜的生信筆記library(ggplot2)
library(dplyr)
library(tidyr)
library(ggplot2)
library(agricolae)setwd("D:\\BioinfoFile\\小杜的生信筆記\\2024\\20240628_柱狀圖中顯示數據")
##'@此次數據基于種子發芽指數計算公式進行,數據具有隨機性,不具有任何意義。
##'@加載數據
data <- read.csv("20240628_inputdata.csv",header = T)data
相關計算代碼
## 轉換數據
long_data <- data %>%pivot_longer(cols = starts_with("germinated"), names_to = "replicate", values_to = "germinated")
long_data
##計算活力指數
germination_index <- long_data %>%group_by(treatment, day) %>%summarise(GI = sum(germinated / day)) %>%ungroup()#'@計算各個處理的平均數和標準差
summary_gi <- germination_index %>%group_by(treatment) %>%summarise(mean_GI = mean(GI), sd_GI = sd(GI))#'@單因素方差分析
anova_result <- aov(GI ~ treatment + day, data = germination_index)
summary(anova_result)#'@進行Tukey HSD檢驗
tukey_result <- HSD.test(anova_result, "treatment", group = TRUE)
print(tukey_result)# 提取 Tukey HSD 結果中的字母標記
groups <- tukey_result$groups
df_letters <- data.frame(sample = rownames(groups), letters = groups$groups)
##'@修改名稱
colnames(df_letters) <- c("treatment","letters")# 合并均值和字母標記
df_data <- merge(summary_gi, df_letters, by = "treatment")
繪圖
ggplot(df_data, aes(x = treatment, y = mean_GI, fill = treatment)) +geom_bar(stat = "identity", position = "dodge", color = "black", size = 0.5) +##'@誤差線geom_errorbar(aes(ymin = mean_GI - sd_GI, ymax = mean_GI + sd_GI), width = 0.15, ## 寬度size = 1 ##字體大小) +##'@顯示數字geom_text(aes(x = treatment, y = mean_GI + sd_GI + 0.5, ## “+0.5”顯示的高度label = round(mean_GI, 2)), ### "round(mean_GI, 2))",其中2,表示數字顯示的小數點位數size = 5,color = 'black') +##'@顯示顯著性geom_text(aes(x = treatment, y = mean_GI + sd_GI + 1.3, label = letters), size = 6, color = "red") +theme_bw()+scale_fill_manual(values = c("#1f78b4", "#ff7f00", "#4daf4a")) +labs(x = NULL, y = "Germination Index")+theme(#axis.line = element_line(size = 1), ## 粗細text=element_text(#family = "sans",colour ="black",size = 10),axis.text.x = element_text(color = "black", size = 12),axis.text.y = element_text(color = "black",size = 11),axis.ticks = element_line(colour = "black"),strip.text = element_text(color = "black",size = 10),axis.title = element_text(color = "black",size = 12), ##坐標軸字體大小legend.position = "none",strip.background = element_blank())ggsave("20240608_柱狀圖-顯示數字.pdf",width = 6, height = 4)
獲得本期教程示例數據,后臺回復關鍵詞:20240628。(PS:在社群中,可獲得往期和未來教程所有數據和代碼)
若我們的教程對你有所幫助,請
點贊+收藏+轉發
,這是對我們最大的支持。
往期部分文章
1. 最全WGCNA教程(替換數據即可出全部結果與圖形)
-
WGCNA分析 | 全流程分析代碼 | 代碼一
-
WGCNA分析 | 全流程分析代碼 | 代碼二
-
WGCNA分析 | 全流程代碼分享 | 代碼三
-
WGCNA分析 | 全流程分析代碼 | 代碼四
-
WGCNA分析 | 全流程分析代碼 | 代碼五(最新版本)
2. 精美圖形繪制教程
- 精美圖形繪制教程
3. 轉錄組分析教程
-
轉錄組上游分析教程[零基礎]
-
一個轉錄組上游分析流程 | Hisat2-Stringtie
4. 轉錄組下游分析
-
批量做差異分析及圖形繪制 | 基于DESeq2差異分析
-
GO和KEGG富集分析
-
單基因GSEA富集分析
-
全基因集GSEA富集分析
小杜的生信筆記 ,主要發表或收錄生物信息學教程,以及基于R分析和可視化(包括數據分析,圖形繪制等);分享感興趣的文獻和學習資料!!