跟着 Cancer Discovery 学作图 | 复杂小提琴图

简介: 跟着 Cancer Discovery 学作图 | 复杂小提琴图

violinplot

本期图片

Violin plots

「Title:」Integrative pan-cancer genomic and transcriptomic analyses of refractory metastatic cancer

「Journal:」Cancer Discovery

「DOI」:10.1158/2159-8290.CD-22-0966

图片为一种泛癌分析的连续变量描述性统计可视化的形式。由三个小提琴图和一个箱线图构成。和之前画过的这图怎么画| 有点复杂的散点图类似。

复现结果

复现结果


绘图

# 示例数据建立
## 变量A
testA = matrix(runif(n = 380,0,1), 20, 19)
colnames(testA) =  paste0('cancer',LETTERS[1:19])
row.names(testA) =  paste0('sample',1:20)
## 绘制
### 数据长宽转换
library(reshape2)
datA = melt(testA,
            varnames = c('sample','cancer'),
            value.name = 'exp')
## 颜色设置
get_label_colors <- function(labels, pal="Dark2", labels_unique=NULL, alpha=1){
  if (is.null(labels_unique)){
    labels_unique <- sort(unique(labels))
  }
  palette <- RColorBrewer::brewer.pal(n=RColorBrewer::brewer.pal.info[pal, "maxcolors"], pal)
  lab2col <- list()
  i <- 1
  for (lab in labels_unique){
    lab2col[[lab]] <- grDevices::adjustcolor(palette[(i-1) %% length(palette) + 1], alpha)
    i <- i + 1
  }
  colors <- c()
  for (lab in labels){
    colors <- c(colors, lab2col[[lab]])
  }
  colors
}
colors = get_label_colors(unique(datA$cancer))
## 画图
p1 <- ggplot(datA, aes(cancer,exp,fill = cancer))+
  geom_violin() + 
  coord_flip()+
  scale_fill_manual(values = colors) +
  stat_summary(fun= mean, geom = "point",
               shape = 19, size = 2, color = "black")+
  theme_bw()+
  geom_hline(aes(yintercept=0.6), colour="#565354", linetype="dashed")+
  geom_hline(aes(yintercept=0.3), colour="#565354", linetype="dashed")+
  xlab('')+
  ylab('A indicator\nindicator A')+
  theme(panel.grid.major=element_blank(),
        panel.grid.minor=element_blank(),
        axis.text.y = element_text(size = 12,
                                   face="bold"),
        legend.title=element_blank(),
        legend.position = 'none')
p1
## 不显示y轴
remove_y <- theme(
  axis.text.y = element_blank(),
  axis.ticks.y = element_blank(),
  axis.title.y = element_blank()
)
p <- list(
  p1,
  p1 + remove_y,
  p1+ remove_y,
  p1+ remove_y
)
library(patchwork)
wrap_plots(p, nrow = 1) 
ggsave('complex_violin.pdf',width = 8,height = 6)

往期内容

  1. 资源汇总 | 2022 木舟笔记原创推文合集(附数据及代码领取方式)
  2. CNS图表复现|生信分析|R绘图 资源分享&讨论群!
  3. R绘图 | 浅谈散点图及其变体的作图逻辑
  4. 这图怎么画| 有点复杂的散点图
  5. 这图怎么画 | 相关分析棒棒糖图
  6. 组学生信| Front Immunol |基于血清蛋白质组早期诊断标志筛选的简单套路
  7. (免费教程+代码领取)|跟着Cell学作图系列合集
  8. Q&A | 如何在论文中画出漂亮的插图?
  9. 跟着 Cell 学作图 | 桑葚图(ggalluvial)
  10. R实战 | Lasso回归模型建立及变量筛选
  11. 跟着 NC 学作图 | 互作网络图进阶(蛋白+富集通路)(Cytoscape)
  12. R实战 | 给聚类加个圈圈(ggunchull)
  13. R实战 | NGS数据时间序列分析(maSigPro)
  14. 跟着 Cell 学作图 | 韦恩图(ggVennDiagram
相关文章
ggplot2入门 学习笔记| 小提琴图怎么画?
ggplot2入门 学习笔记| 小提琴图怎么画?
|
数据可视化 数据挖掘 Python
跟着Nature学作图:R语言ggplot2作图展示基因和转座子的相对位置
跟着Nature学作图:R语言ggplot2作图展示基因和转座子的相对位置
|
人工智能 数据可视化
跟SCI学umap图| ggplot2 绘制umap图,坐标位置 ,颜色 ,大小还不是你说了算
跟SCI学umap图| ggplot2 绘制umap图,坐标位置 ,颜色 ,大小还不是你说了算
1132 1
|
数据可视化 数据挖掘 Python
跟着Nature Communications学作图:R语言ggplot2箱线图和小提琴展示结构变异的长度分布
跟着Nature Communications学作图:R语言ggplot2箱线图和小提琴展示结构变异的长度分布
|
数据可视化 数据挖掘 数据处理
ComplexHeatmap|绘制单个热图-I
ComplexHeatmap|绘制单个热图-I
194 0
|
算法
ggplot2|从0开始绘制PCA图
ggplot2|从0开始绘制PCA图
471 0
|
数据可视化
Forest plot(森林图) | Cox生存分析可视化
Forest plot(森林图) | Cox生存分析可视化
292 0
|
数据可视化 数据挖掘 Python
跟着Nature Metabolism学作图:R语言ggplot2柱形图和下三角热图完整示例
跟着Nature Metabolism学作图:R语言ggplot2柱形图和下三角热图完整示例
|
数据可视化 数据挖掘 Python
跟着Nature Communications学作图:R语言ggplot2堆积柱形图组合哑铃图
跟着Nature Communications学作图:R语言ggplot2堆积柱形图组合哑铃图
|
数据可视化 数据挖掘 Python
跟着Nature学作图:R语言ggplot2散点图和柱形图完整示例(Extended Fig3)
跟着Nature学作图:R语言ggplot2散点图和柱形图完整示例(Extended Fig3)