如要獲得此教程代碼,可以在“公ZH”回復(fù)關(guān)鍵詞:20230110
棒棒圖的教程來(lái)自公眾號(hào)“生信寶典”
原文來(lái)自iMeta期刊題目為“Pan-cancer analyses reveal molecular and clinical characteristics of cuproptosis regulators”論文中的圖形
原文鏈接文章鏈接:https://onlinelibrary.wiley.com/doi/10.1002/imt2.68
原文教程鏈接:https://mp.weixin.qq.com/s/yTETDyVzW6CHI318GYqA
今天無(wú)意間看到,那么我們的以前來(lái)學(xué)習(xí)下吧局扶,是一篇比較詳細(xì)的教程,值得推薦怪蔑。
原圖:
1.2 數(shù)據(jù)
教程中未給相應(yīng)的數(shù)據(jù),我們依照葫蘆畫瓢自動(dòng)創(chuàng)建示例數(shù)據(jù)丧荐。
1.3 繪圖
導(dǎo)入數(shù)據(jù)
df <- read.csv("20230110_testdata.csv", header = T)
head(df)
@固定列的順序
#'@這是其中一種方法
df$ID <- factor(df$ID, levels = df$ID)
df$Target <- factor(df$Target, levels = df$Target)
df$Drug <- factor(df$Drug, levels = df$Drug)
繪制基礎(chǔ)圖形
ggplot(df, aes(Correlation,Drug))+
geom_point(aes(size = Pvalue),color = "skyblue")
@固定列的順序:方法二
使用factor()函數(shù)進(jìn)行固定
ggplot(df, aes(x = Correlation,
y = factor(Drug, levels = Drug, unique(Drug))))+
geom_point(aes(size = Pvalue),color = "skyblue")
添加線段
segment_df <- data.frame(x = 0,y = seq(1:27),xend = df$Correlation,yend = seq(1:27))
繪圖
ggplot(df,aes(Correlation,Drug))+
1.4 美化
ggplot(df,aes(Correlation,Drug))+
geom_point(aes(size = Pvalue),color = "skyblue")+
geom_segment(segment_df,mapping = aes(x = x, y = y, xend = xend, yend = yend),
size = 0.8,color = "skyblue")+
# scale_x_continuous(limits = c(0,0.152), #設(shè)置x軸范圍
# expand = expansion(mult = 0))+ #expansion函數(shù)的參數(shù)mult: 百分比間距缆瓣,可以接受一個(gè)向量
theme(panel.background = element_blank(), #刪除背景
panel.grid = element_line (colour = "lightgrey"), #設(shè)置網(wǎng)格顏色
panel.border = element_rect(fill = NA,colour = "black",size = 0.8))+ #設(shè)置邊框
ylab("") #刪除y軸名
1.5 將ID和Target通過(guò)cowplot進(jìn)行組合
p2 <- ggplot(df,aes("",Target))+
theme(panel.background = element_blank(),#去除背景
panel.border = element_blank(), #去除邊框
axis.ticks.y = element_blank(), #去除y軸刻度
axis.ticks.x = element_blank())+ #去除x軸刻度
xlab("")+ #去除x軸標(biāo)題
ylab("")+ #去除y軸標(biāo)題
coord_fixed(ratio = 10) #將y軸和x軸標(biāo)度比例設(shè)置為10:1
p3 <- ggplot(df,aes("",ID))+
theme(panel.background = element_blank(),#去除背景
panel.border = element_blank(),
axis.ticks.y = element_blank(),
axis.ticks.x = element_blank())+
xlab("")+
ylab("")+
coord_fixed(ratio = 10)
合并出圖
plot_grid(p3,p2,p1,
ncol = 3, #三張圖片分三列合并
rel_widths = c(1,1,2), #三列所占比例為1:1:2
labels = c("Target.Pathway","Target","Drug"), #每一幅子圖片標(biāo)題名
label_size = 8) #標(biāo)題大小
二、棒棒圖優(yōu)化美化
此圖虹统,已經(jīng)出來(lái)弓坞,但是,基因中間都是空白窟却,知否可以進(jìn)行填充美化呢?呻逆?
2.1 創(chuàng)建連線
ines <- data.frame(
x = as.character(c(rep(1, 27),rep(2,27))),
y = c(sample(1:27), sample(1:27)),
group = rep(1:27, 2))
注意****:****此方法創(chuàng)建的連線是虛擬的夸赫,自己可根據(jù)基因之間的相關(guān)性手動(dòng)創(chuàng)建。
繪圖:
p4 <- ggplot(lines) +
geom_link2(aes(x = x, y = y, group = group,
colour = stat(index)
), size = 2)+
scale_colour_gradient2(low = "#04a3ff", mid = "#ffffff", high = "#ff349c",
midpoint = 0.5)+
geom_point(aes(x, y, group = group, fill = x), shape = 21, color = "#fc1e1e", size = 4)+
scale_fill_manual(values = c("#04a3ff", "#ff349c"))+
# 空白主題:
theme_minimal() +
theme(
legend.position = "none",
axis.title.x = element_blank(),
axis.title.y = element_blank(),
panel.border = element_blank(),
panel.grid=element_blank(),
axis.ticks = element_blank(),
axis.text = element_blank(),
plot.title=element_text(size=0, face="bold"))
p4
2.2 組合圖形
library(patchwork)
library(ggplotify)
layout <- c(
area(t = 1, l = 1, b = 6, r = 3),
area(t = 0, l = 3, b = 6, r = 7),
area(t = 1, l = 7, b = 6, r = 9)
)
p5 <- as.ggplot(p2) + p4 + as.ggplot(p3) + plot_layout(design = layout)
2.3 最終圖形
plot_grid(p5,p1)
圖形顏色可以自己的進(jìn)行調(diào)節(jié)即可?С恰茬腿!
三、顯著相關(guān)性散點(diǎn)圖
原文圖形:
我們使用ggplot函數(shù)繪制即可
3.1 導(dǎo)入需要的包
library(ggplot)
library(ggpubr)
3.2 繪圖
ggplot(df,aes(Correlation,Pvalue))+
geom_point(shape = 17)+
geom_smooth(method = 'lm',color = 'black')+
ggpubr::stat_cor(label.x = 0.5, size = 8, color = 'red')+
theme_classic()
3.3 參數(shù)設(shè)置
geom_smooth()函數(shù)
?method有如下幾種:"lm", "glm", "gam", "loess"
?color是調(diào)控線中位線的顏色
具體參數(shù)如何設(shè)置請(qǐng)使用??geom_smooth()進(jìn)行查看
ggpubr包參數(shù)設(shè)置
1宜雀、散點(diǎn)圖的形狀設(shè)置
使用ggpubr::show_point_shapes()進(jìn)行查看
顯著性P值和R值的位置設(shè)置
使用label.x和label.y進(jìn)行設(shè)置
顏色使用color進(jìn)行設(shè)置
stat_cor(
mapping = NULL,
data = NULL,
method = "pearson",
alternative = "two.sided",
cor.coef.name = c("R", "rho", "tau"),
label.sep = ", ",
label.x.npc = "left",
label.y.npc = "top",
label.x = NULL,
label.y = NULL,
output.type = "expression",
digits = 2,
r.digits = digits,
p.digits = digits,
r.accuracy = NULL,
p.accuracy = NULL,
geom = "text",
position = "identity",
na.rm = FALSE,
show.legend = NA,
inherit.aes = TRUE,
...
)
美化
ggplot(df,aes(Correlation,Pvalue))+
geom_point(shape = 19, color = "red")+
geom_smooth(method = 'lm',color = 'black', se = FALSE)+
ggpubr::stat_cor(label.x = 0.1 , color = 'black')+ ##
theme_classic()+
xlab(NULL)+ylab("Cuproptosis activity score")+ggtitle("lMvigor 210")
往期文章(總匯)--點(diǎn)擊鏈接進(jìn)入(列出部分切平,并非全部)
01-[R語(yǔ)言可視化-精美圖形繪制系列]--精美火山圖
02-R語(yǔ)言可視化-精美圖形繪制系列--柱狀圖
03-R語(yǔ)言可視化-精美圖形繪制系列--功能富集分析
04-R語(yǔ)言可視化-精美圖形繪制系列—多組GO富集可視化
05-[R語(yǔ)言可視化-精美圖形繪制系列--堆積圖]
06-[R語(yǔ)言可視化-精美圖形繪制系列--組間相關(guān)性分析]
07-[R語(yǔ)言可視化-精美圖形繪制系列]--Mental分析
08-[R語(yǔ)言可視化-精美圖形繪制系列--復(fù)雜熱圖+兩圖漸變連線]-【轉(zhuǎn)載】
09-[R語(yǔ)言可視化-精美圖形繪制系列--桑基圖(Sankey)]
10-[R語(yǔ)言可視化-精美圖形繪制系列--柱狀圖誤差線標(biāo)記](méi)11-跟著NC學(xué)作圖 | 柱狀圖與相關(guān)性圖12-[R語(yǔ)言可視化-精美圖形繪制系列--GO辐董、KEGG富集通路關(guān)聯(lián)圖]
13-[跟著“基迪奧生物學(xué)”作圖]--截?cái)鄨D14-[R語(yǔ)言可視化-精美圖形繪制系列]--顯著性箱線圖
14-2[R語(yǔ)言可視化]--箱線圖不同的畫法及參數(shù)設(shè)置 | 學(xué)習(xí)筆記15-[R語(yǔ)言可視化-精美圖形繪制系列]--組內(nèi)相關(guān)性分析
16-[R語(yǔ)言可視化-精美圖形繪制系列]--主成分分析(PCA)
17-[跟著NC學(xué)作圖]--箱線圖(一個(gè)函數(shù)獲得Mean悴品、SD、P值)
18-[跟著NC學(xué)作圖]--生存分析(Survival analysis)
19-[跟著NC學(xué)作圖]--散點(diǎn)圖20-[R語(yǔ)言可視化-精美圖形繪制系列]--散點(diǎn)圖+箱線圖組合圖
21-[跟著NC學(xué)作圖]-柱狀堆積圖22-[跟著NC學(xué)作圖]-繪制頻率分布圖(圖中圖)
22-[R語(yǔ)言可視化-精美圖形繪制系列]--FPI箱線圖
23-跟著NC做基因組數(shù)據(jù)分析24-使用OmicCircos包--繪制基因圈圖
小杜的生信筆記 ,主要發(fā)表或收錄生物信息學(xué)的教程苔严,以及基于R的分析和可視化(包括數(shù)據(jù)分析定枷,圖形繪制等);分享感興趣的文獻(xiàn)和學(xué)習(xí)資料届氢!