首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在地图上添加行和文本?

如何在地图上添加行和文本?
EN

Stack Overflow用户
提问于 2014-08-11 10:41:07
回答 2查看 4.9K关注 0票数 3

我使用以下代码使用pheatmap()函数创建热图:

代码语言:javascript
运行
复制
library(pheatmap)
pheatmap((data_matrix[,1:11]), cluster_rows = F, cluster_cols = F, scale="none",
     show_rownames=F, treeheight_row = F, 
     color=colorRampPalette(rev(c("red","white")))(50),
     main="values", cex.main=1.2)

我想在一些立场上增加文字和行,以表示分组和百分比。

abline()text()不起作用,而且我现在还没有成功。

做这件事的最好方法是什么?

谢谢你,菲利普

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-11 11:11:17

如果您查看pheatmap函数的源代码,您将看到,在对数据进行一些修改之后,它将调用heatmap_motor函数。

查看这个函数(它不是导出的,所以您必须键入pheatmap:::heatmap_motor才能看到它的源代码),您将看到它使用来自grid包的函数来绘制热图,因此使用ablinetext无法工作,但是grid.ablinegrid.text会!

例如(请注意,坐标是通过试错过程找到的):

代码语言:javascript
运行
复制
library(pheatmap)
library(grid)

a <- matrix(rnorm(100), 10, 10)
pheatmap(a, cluster_rows = F, cluster_cols = F)

grid.text(1:100, x=rep(seq(0.05, 0.91, length.out=10), 10), 
          y=rep(seq(0, 1, 0.1)+0.05, each=10))
票数 8
EN

Stack Overflow用户

发布于 2018-08-29 05:07:22

您可以在display_numbers中使用pheatmap选项。例如,

代码语言:javascript
运行
复制
library(pheatmap)

a <- matrix(rnorm(90), 9, 10)
txt <- matrix(sample(letters, replace = TRUE, 90), 9, 10)
pheatmap(a, cluster_rows = F, cluster_cols = F, display_numbers = txt)

结果图:带文本的地图

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25241333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档