在R中创建连续热图
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在R中创建连续热图相关的知识,希望对你有一定的参考价值。
我有一系列x和y坐标,每个坐标都附加了一个距离。我想创建一个热图,将x和y范围内每个点的平均距离显示为热图。由于这些点之间并不是以格子状均匀分布,因此该方法将需要某种平滑函数,该函数可以对数据进行聚类并计算附近每个点的平均值,然后用颜色表示该平均值。
到目前为止,使用ggplot2
,我只能找到stat_density2d
和geom_tile
之类的方法,这些方法仅用于显示点密度并表示均匀分布的点(据我所知)。
理想情况下,它将遵循与该图像相同的原理:
其中,根据附近的给定点分配了颜色,即使这些点的密度和位置也不均匀。
[我不想像这样的图像那样以矩阵形式创建热图:>
其中表格以颜色编码。相反,我想使用不均匀分布的x和y坐标创建一个连续的热图,该坐标实际上显示了将数据分成无限多个矩形的限制。这可能不是该函数使用的实际方法,但是它提供了有关我要寻找的内容的一般思路。
以下是一些示例数据:
data=data.frame(x=c(1,1,2,2,3,4,5,6,7,7,8,9), y=c(2,4,5,1,3,8,4,8,1,1,6,9), distance=c(66,84,93,76,104,29,70,19,60,50,46,36))
我如何制作一个具有距离的热图作为覆盖整个数字范围的色标,就像提供的第一个链接中的图一样?
非常感谢您的帮助!
我有一系列x和y坐标,每个坐标都附加了一个距离。我想创建一个热图,以x和y范围内的每个点的平均距离显示为...
为了生成具有不规则间隔的坐标的连续地图,您首先需要内插规则网格(此处使用包interp
的函数akima
:]]
这里有一个用户编写的函数,该函数使用ggplot2生成热图:
使用@plannapus建议的akima::interp
解决方案,您可以将其转换为ggplot2
热图。
ggplot2::ggfluctuation(data, type="colour")
以上是关于在R中创建连续热图的主要内容,如果未能解决你的问题,请参考以下文章