当前位置:首页 > 后端开发 > 正文内容

pheatmap有用参数(二)

邻居的猫1个月前 (12-09)后端开发1692
# Create test matrix(造数据)
set.seed(6)
test = matrix(rnorm(200), 20, 10)
test[1:10, seq(1, 10, 2)] = test[1:10, seq(1, 10, 2)] + 3
test[11:20, seq(2, 10, 2)] = test[11:20, seq(2, 10, 2)] + 2
test[15:20, seq(2, 10, 2)] = test[15:20, seq(2, 10, 2)] + 4
colnames(test) = paste("Test", 1:10, sep = "")
rownames(test) = paste("Gene", 1:20, sep = "")

正文从这儿开端

# Show text within cells
pheatmap(test, display_numbers = TRUE)
pheatmap(test, display_numbers = TRUE, number_format = "\\%.1e")
pheatmap(test, display_numbers = TRUE, display_numbers = matrix(ifelse(test > 5, "*", ""), nrow(test)))
  • display_numbers = T 即Show text within cells

  • number_format 能够格局输出display_number

  • 或许爽性自定义一个matrix经过display_numbers参数进行display

# legend(图例)的设置选项
pheatmap(test)  # p1
pheatmap(test, legend_breaks = -1:7)  # p2
pheatmap(test, legend_breaks = 1:6, legend_labels = c("6","6", "6", "6", "6", "6"))  # p3
pheatmap(test, legend_breaks = 9:14, legend_labels = c("6","6", "6", "6", "6", "6"))  # p4
  • pheatmap函数会在内部算出legend的数值规模,本例中大概是 -1:7

  • 在数值规模内,咱们能够设定legend_breaks,以及对legend_breaks这个label的文本展现

  • legend_breaks和legend_labels是有一个对应联系的,不然报错如下

    Error in pheatmap(test, legend_breaks = 1:6, legend_labels =
    c(“6”, “6”, : Lengths of legend_breaks and legend_labels must be
    the same

  • 假设咱们的设定规模超出,就如p4所示

# Fix cell sizes and save to file with correct size
pheatmap(test, cellwidth = 15, cellheight = 12, main = "Example heatmap")  # the title of the plot
pheatmap(test, cellwidth = 15, cellheight = 12, fontsize = 8, filename = "test.pdf")  # save to pdf

# Change angle of text in the columns (0, 45, 90, 270 and 315)
pheatmap(test, angle_col = "45")
pheatmap(test, angle_col = "0")

有关annotation

# Generate annotations for rows and columns(先造数据)
annotation_col = data.frame(
                    CellType = factor(rep(c("CT1", "CT2"), 5)), 
                    Time = 1:5
                )
rownames(annotation_col) = paste("Test", 1:10, sep = "")

annotation_row = data.frame(
                    GeneClass = factor(rep(c("Path1", "Path2", "Path3"), c(10, 4, 6)))
                )
rownames(annotation_row) = paste("Gene", 1:20, sep = "")

# Display row and color annotations
pheatmap(test, annotation_col = annotation_col, cluster_cols = F)

pheatmap(test, annotation_col = annotation_col, annotation_legend = FALSE, cluster_cols = F)

pheatmap(test, annotation_row = annotation_row, cluster_rows = F)

  • annotation数据首先要组织成dataframe,dataframe中的rownames要和注释项进行对应,
    而column便是要展现的注释条,每个column都会生成一个注释条来显现

  • annotation_col/row 默许会有legend合作展现,annotation_legend = FALSE能够去掉legend

# Specify colors (自定义注释条色彩)
ann_colors = list(
    Time = c("white", "firebrick"),
    CellType = c(CT1 = "#1B9E77", CT2 = "#D95F02"),
    GeneClass = c(Path1 = "#7570B3", Path2 = "#E7298A", Path3 = "#66A61E")
)

pheatmap(test, annotation_col = annotation_col, annotation_colors = ann_colors)

pheatmap(test, annotation_col = annotation_col, annotation_row = annotation_row, annotation_colors = ann_colors)

  • 注释条色彩数据要组织成list(list的灵活性就在此处凸显出来了),
    list中的每个元素名作为对应项(对应前述dataframe中的colnames),
    一起能够进一步为attribute指定色彩,例如
    CT1 = "#1B9E77", CT2 = "#D95F02"


参考资料

pheatmap协助文档

扫描二维码推送至手机访问。

版权声明:本文由51Blog发布,如需转载请注明出处。

本文链接:https://www.51blog.vip/?id=233

标签: R
分享给朋友:

“pheatmap有用参数(二)” 的相关文章

[golang]命令行base64编解码东西

[golang]命令行base64编解码东西

前语 最近经常用kubectl检查处理secret装备问题,由于secret的值都经过了base64编码,所以需求解码。假如不嫌切换界面费事的话,能够切阅读器用在线编解码东西。或许用linux一般自带的base64指令来编解码。但这个base64只承受文件输入和规范输入,有时候暂时做个编解码要经过规...

不是 PHP 不行了,而是 MySQL 数据库扛不住啊

不是 PHP 不行了,而是 MySQL 数据库扛不住啊

我们好,我是码农先森。 大多数的业务场景下 PHP 还没有到达功用瓶颈,但是 MySQL 数据库就先行驾崩了。但咱们总是不分青红皂白,一股脑的把原因归结所以 PHP 言语不可了,每逢遇到这种景象我就会感叹到 PHP 的命真苦啊。PHP 作为一门优异的开源编程言语,在编程言语界一向享有「PHP是世界上...

Flutter/Dart第09天:Dart高档特性Pattern形式的概览和用法

Flutter/Dart第09天:Dart高档特性Pattern形式的概览和用法

Dart官方文档:https://dart.dev/language/patterns 重要说明:本博客依据Dart官网文档,但并不是简略的对官网进行翻译,在掩盖中心功用情况下,我会依据个人研制经历,参加自己的一些扩展问题和场景验证。 Pattern形式匹配的界说 官网界说:Patterns are...

Python网址,python官网免费下载

Python网址,python官网免费下载

以下是关于Python的一些重要网址信息,包括官方网站、教程网站和社区网站: Python 官方网站 Python 官方网站: 提供Python源代码和安装程序下载,最新版本为Python 3.13.1。 包含Python标准库的文档、教程和指南,可以在线获取。 Python 教程网站 Py...

python快速注释,提升代码可读性与维护性

在Python中,快速注释代码的常见方法有以下几种:1. 单行注释:使用 `` 符号在代码行前添加注释。2. 多行注释:可以使用三个连续的单引号 `'''` 或三个连续的双引号 `` 来创建多行注释。3. 使用文本编辑器或IDE的快捷键:大多数文本编辑器和IDE都提供了快捷键来快速注释或取消注释代码...

go英语怎么读,Go英语单词的正确发音与用法解析

1. 动词“去”(to go): 作为一般现在时,主语是第三人称单数时(如 he she it),读音为 /g?/。 其他情况下,读音为 /go?/。2. 名词“围棋”(a board game): 在这个词组中,go 读音为 /ɡo?/。3. 名词“能,行”(permission...