从指定的 xy 坐标和一个值构建 R 热图
Construct R heatmap from specified xy-coordinates and a value
我有一个数据框,其中包含 x 坐标、y 坐标和该位置的值。我想从这个数据创建一个热图(密度图?),它根据每个位置的值着色。我正在寻找像 这样的热图,它来自 。但是我的数据不同。我没有 x 的值和 y 的值,而是有坐标和在该对处找到的值。我还需要绘图的轴为 x 和 y 坐标。
这是我的数据示例:
x_coord <- c(1,2,3,4)
y_coord <- c(1,2,3,4)
value <- c(12,15,19,30)
foo.df <- data.frame(x_coord, y_coord, value)
x_coord y_coord value
1 1 1 12
2 2 2 15
3 3 3 19
4 4 4 30
如果这是一个回复post,请link我,我会删除这个post。我在 R 的热图上发现了很多,但 none 似乎适用于这种性质的数据。
有什么想法吗?
我怀疑您正在寻找 image()
图,即 4x4 网格上的简单图块,而不是连续的 function/heatmap。
特别是如果您的坐标在 x=1..4,y=1..4 范围内并且您拥有全部 16 个完整值。
请参阅基础中的 image()
,或 ggplot2 包中的 geom_tile()
;或 qplot(..., geom='tile')
当您说 "create a heatmap (density plot?) from this data which is colored based on value at each position" 时,您只是指 "plot a tiled image".
试试这个:
x_coord <- c(1,2,3,4)
y_coord <- c(1,2,3,4)
value <- c(12,15,19,30)
foo <- data.frame(x_coord, y_coord, value)
library(MBA)
foo=foo[ order(foo[,1], foo[,2],foo[,3]), ]
mba.int <- mba.surf(foo, 300, 300, extend=T)$xyz.est
library(fields)
fields::image.plot(mba.int)
我有一个数据框,其中包含 x 坐标、y 坐标和该位置的值。我想从这个数据创建一个热图(密度图?),它根据每个位置的值着色。我正在寻找像
这是我的数据示例:
x_coord <- c(1,2,3,4)
y_coord <- c(1,2,3,4)
value <- c(12,15,19,30)
foo.df <- data.frame(x_coord, y_coord, value)
x_coord y_coord value
1 1 1 12
2 2 2 15
3 3 3 19
4 4 4 30
如果这是一个回复post,请link我,我会删除这个post。我在 R 的热图上发现了很多,但 none 似乎适用于这种性质的数据。
有什么想法吗?
我怀疑您正在寻找 image()
图,即 4x4 网格上的简单图块,而不是连续的 function/heatmap。
特别是如果您的坐标在 x=1..4,y=1..4 范围内并且您拥有全部 16 个完整值。
请参阅基础中的 image()
,或 ggplot2 包中的 geom_tile()
;或 qplot(..., geom='tile')
当您说 "create a heatmap (density plot?) from this data which is colored based on value at each position" 时,您只是指 "plot a tiled image".
试试这个:
x_coord <- c(1,2,3,4)
y_coord <- c(1,2,3,4)
value <- c(12,15,19,30)
foo <- data.frame(x_coord, y_coord, value)
library(MBA)
foo=foo[ order(foo[,1], foo[,2],foo[,3]), ]
mba.int <- mba.surf(foo, 300, 300, extend=T)$xyz.est
library(fields)
fields::image.plot(mba.int)