大家好,今天看到nature methods中一篇关于单细胞数据挖掘的文章,发现此类文章或者其它类文章小提琴图和盒形图出现频率特别高。遂和大家分享下这篇文章Fast searches of large collections of single-cell data using scfind中的小提琴图和盒形图的代码和基因云平台的快速实现。
论文页面:
文章链接:https://www.nature.com/articles/s41592-021-01076-9
论文代码及数据:https://github.com/hemberg-lab/scfind-paper-figures
附件数据:https://www.nature.com/articles/s41592-021-01076-9#Sec39
本次主要通过文章中的数据和相关代码复现上述文章中的fig1.d 的小提琴图,以及fig2.d中的盒形图。
数据大家可以通过上述链接下载,作者对每幅图的数据都作了清晰的标注。
首先我们看看fig1.d的小提琴图的绘制方法:
# 图例
legend_order <- c("BCA", "MCA", "TM, 10X", "TM, FACS", "sciATACseq", "MOCA")
# 主题样式设置
main <- theme_minimal() + theme(axis.title.y = element_text(size=12), axis.title.x = element_text(size=12), text = element_text(size=12), panel.grid.major = element_blank(), panel.grid.minor = element_blank(), panel.background = element_blank())
colorcode = "Dark2"
# 读取数据
df.1d <- read.table("./data/fig1d.csv", sep = ","
, header = T,
stringsAsFactors = F)
df.1d$atlas <- factor(df.1d$atlas, levels = legend_order)
# 开始绘图
p.1d <- ggplot(df.1d, aes(x = atlas,
y = as.numeric(rho),
fill = atlas)) +
main + theme(axis.text.x = element_blank()) +
guides(col = guide_legend(ncol = 2)) +
ylab("rho")+ xlab("Atlas") +
scale_fill_brewer(palette = colorcode) +
geom_violin(trim = T) + geom_boxplot(width=0.1, fill="white")</pre>
接下来,我们继续看fig2.d的代码实现:
# 读取数据
df.2d <- read.table("./data/fig2d.csv", sep = ",", header = T, stringsAsFactors = F)
# 设置颜色
cbPalette <- c("#999999", "#E69F00", "#56B4E9", "#009E73", "#0072B2", "#D55E00", "#CC79A7")
# 开始绘图
p.2d <- ggplot(df.2d[!df.2d$no_of_genes %in% 5,],
aes(x = as.character(no_of_genes),
y = score, fill = type)) +
main + xlab("Number of genes") + ylab("Score") +
scale_fill_manual("Score type", values = cbPalette) +
geom_boxplot(size = .2, notch = T, outlier.size = .2) +
facet_grid(. ~ query)</pre>
到此我们就满分复现了文章中的两个图表,那么如何不通过代码实现盒形图、小提琴图的快速切换呢?接下来,给大家分享下基因云(https://www.genescloud.cn)的盒形图小工具,无需编程也可以快速制作漂亮的上述图表,同时还提供多种样式的在线调整(图4所示)。
基因云平台实现
1 准备数据
根据文章附件数据,提取下图所示数据。为了方便大家实践,基因云已贴心的整合了该示例数据,进入"盒形图"绘图页面,直接通过【文件上传→云端文件→公共数据】按照路径: Home>ref_data>nature_methods>1_violinplot,即可选择使用。
2 提交绘图
上传数据后,一键提交绘图。
3 参数调整
在图表调整里面,选择【图表设置→图表类型】,即可实现图3所示图形的随意切换,还可以对图表的颜色等样式进行自由设置。
当然,除了上述盒形图外,基因云平台还提供了"交互小提琴图",大家可以根据自己的数据选择性的进行试用。
今天就分享到这里了,希望以上工具对大家作小提琴图、盒形图有所帮助。