好看的圖千千萬,我就中意這一款氓侧。關(guān)于作圖的注釋脊另,有很多種方法,有段時(shí)間约巷,我很中意線條式的注釋偎痛。一般情況,用AI直接畫挺方便独郎,但是還是想使用代碼進(jìn)行實(shí)現(xiàn)踩麦。發(fā)現(xiàn)ggh4x包有類似的效果,可以實(shí)現(xiàn)囚聚,所以這里演示一下靖榕。我們的演示示例式關(guān)于單細(xì)胞marker基因氣泡圖的注釋,至于其他的圖顽铸,基于ggplot作圖的都可以使用這樣的方式進(jìn)行注釋茁计。
當(dāng)然了,在嘗試過程中,我們嘗試拓展了效果星压,例如增粗線條践剂,修改注釋顏色,文字顏色等等娜膘,我們的效果如下:
image.png
獲取作圖數(shù)據(jù):
setwd("/home/ks_ts/data_analysis/ggh4x/")
library(Seurat)
library(ggh4x)
library(ggplot2)
library(dplyr)
p = DotPlot(sce_cca, features = markers)
dat <- p$data
#獲取cluster注釋
anno <- distinct(df, sce_cca$seurat_clusters,sce_cca$celltype)
colnames(anno) <- c("id","celltype")
df <- left_join(dat, anno, by = "id")
cluster.order <- c(2,4,5,6,8,15,16,18,0,1,3,22,11,12,9,7,10,21,14,13,17,19,20)
dat$id <- factor(dat$id, levels= cluster.order)
colnames(dat)
# [1] "avg.exp" "pct.exp" "features.plot" "id"
# [5] "avg.exp.scaled"
ggplot正常氣泡圖:
ggplot(dat, aes(features.plot, id,size=pct.exp, fill=avg.exp.scaled)) +
geom_point(shape = 21, colour="black", stroke=0.5) +
guides(size=guide_legend(override.aes=list(shape=21, colour="black", fill=NA))) +
theme(
panel.background = element_blank(),
panel.border = element_rect(fill = NA),
panel.grid.major.x = element_line(color = "grey80"),
panel.grid.major.y = element_line(color = "grey80"),
axis.title = element_blank(),
axis.text.y = element_text(color='black',size=12),
axis.text.x = element_text(color='black',size=12, angle = 90, hjust = 1, vjust = 0.5))+
scale_fill_gradientn(colours = c('#5749a0', '#0f7ab0', '#00bbb1',
'#bef0b0', '#fdf4af', '#f9b64b',
'#ec840e', '#ca443d', '#a51a49'))
image.png
#plot2 結(jié)合celltype與cluster
p = ggplot(df, aes(features.plot, interaction(id, celltype),size=pct.exp, fill=avg.exp.scaled)) +
geom_point(shape = 21, colour="black", stroke=0.5) +
theme(
panel.background = element_blank(),
panel.border = element_rect(fill = NA),
panel.grid.major.x = element_line(color = "grey80"),
panel.grid.major.y = element_line(color = "grey80"),
axis.title = element_blank(),
axis.text.y = element_text(color='black',size=12),
axis.text.x = element_text(color='black',size=12, angle = 90, hjust = 1, vjust = 0.5))+
scale_fill_gradientn(colours = c('#5749a0', '#0f7ab0', '#00bbb1',
'#bef0b0', '#fdf4af', '#f9b64b',
'#ec840e', '#ca443d', '#a51a49'))+
guides(y = "axis_nested")
image.png
#添加注釋\把celltype顏色標(biāo)記逊脯,與UMAP對(duì)應(yīng)一致即可
p+theme(ggh4x.axis.nesttext.y = element_text(colour = c('#E58606', '#5D69B1', '#52BCA3', '#99C945', '#CC61B0', '#24796C', '#DAA51B',
'#2F8AC4', '#764E9F', '#ED645A', '#CC3A8E')),
ggh4x.axis.nestline.y = element_line(size=2))
image.png
#當(dāng)然,我們也可以直接標(biāo)注線條,與UMAP對(duì)應(yīng)一致即可
p+theme(ggh4x.axis.nestline.y = element_line(size=1,
colour = c('#E58606', '#5D69B1', '#52BCA3', '#99C945', '#CC61B0', '#24796C', '#DAA51B',
'#2F8AC4', '#764E9F', '#ED645A', '#CC3A8E')))
image.png
完美竣贪,非常滿意军洼,覺得分享有用的點(diǎn)個(gè)贊再走唄!