-1

我做了一个热图。我使用的代码是:

 heatmap(t(data.matrix(survey)))

在此处输入图像描述

我不需要 x 轴上的任何东西。在绘图中,以下命令将删除 x 轴中的数字:

  xaxt='n'

另外,如果我想在顶部添加一个图表(它说明颜色的表示 - 比如黄色表示较低的值,红色表示较高),我该怎么做?我不知道,所以我什至没有尝试。我唯一能想到的是“规模”,但这不起作用。

最后,我尝试更改颜色(绿色和红色),为此我使用了:

  mycol = c("green","red")
  heatmap(t(data.matrix(zscoreplus)),col=mycol)

在此处输入图像描述 与第一张图片不同,两者之间没有颜色。(第一个品种更多。)我想要的是红色,浅红色,红绿色,绿色,深绿色等......

ps 由于某种原因,gplots 和 heatmap.2 没有安装,R 找不到这些包。

4

2 回答 2

2

heatmap()您可以加载gplots包并使用heatmap.2()(在您的情况下使用相同的语法)来获取颜色键,而不是使用基本功能。heatmap.2()如果您对包裹有任何其他问题,请告诉我。

编辑:

对不起,没有读到你不能安装gplots。是因为管理员权限有限吗?

不幸的是,heatmap()颜色键有点受限。

但是对于红色 -> 绿色问题,我有一个解决方案给你。要创建自己的调色板,请尝试

my_palette <- colorRampPalette(c("red", "green"))(n = 1000)

然后将其用作热图中的颜色: heatmap(..., col = my_palette, ...)

在您的案例中,集群有多重要?如果你不需要聚类,你可以使用这个levelplot()函数(R 自带),它有一个很好的颜色键表示。

EDIT2:关于颜色“比例”问题。根据您第一篇文章中的描述,我假设您的意思是传说之类的东西。那么您想要下面的屏幕截图中的内容吗?

在此处输入图像描述

EDIT3 关于 x-labels:不幸的是,没有直接的选项heatmap.2()可以关闭它们。这些 x-labels 是colnames您读入的矩阵的标签。xlabel您只需控制轴的一般描述(默认情况下关闭)。这是一个屏幕截图,显示了我在xlabels使用时的意思:

在此处输入图像描述

也许你可以给你的矩阵空(“”)colnames。那应该有帮助。另一方面,很抱歉问你这个问题,但如果你使用集群,这没有任何意义。你怎么知道哪个是哪个?另一种解决方案是简单地从 中裁剪区域或代码pdf,或者svg一旦您保存了热图。时间不应超过 5 秒。

于 2013-07-16T04:27:59.483 回答
1

关于您要安装的问题gplots:您忘记了引号。

需要(gplots)加载所需的包:gplots警告消息:在库中(包,lib.loc = lib.loc,character.only = TRUE,logical.return = TRUE,:没有名为'gplots'的包> install.packages (gplots) install.packages 中的错误:找不到对象“gplots” – ayesha malik 8 分钟前

尝试

install.packages("gplots", dependencies = TRUE)

于 2013-07-16T04:42:30.743 回答