我正在热图中处理一些眼动追踪数据.我想出了如何做热图,它非常引人注目.这是代码:
ggplot(eyematrixCorrectMatchControl, aes(x = CURRENT_FIX_X, y =CURRENT_FIX_Y)) +
annotation_raster(image, -Inf, Inf, -Inf, Inf, interpolate = TRUE) +
stat_density2d(data= eyematrixCorrectMatchControl, aes(x = CURRENT_FIX_X, y =CURRENT_FIX_Y, fill = ..level.., alpha = ..level..), size= 10, bins= 50, geom='polygon') +
theme_bw() +scale_fill_gradient(low = "blue", high = "red") +
scale_alpha_continuous(range=c(0.01,0.25) , guide = FALSE) +
coord_cartesian(xlim= c(0,1024), ylim= c(0,768))+
scale_y_reverse() +
theme(axis.line=element_blank(),
axis.text.x=element_blank(),
axis.text.y=element_blank(),
axis.ticks=element_blank(),
axis.title.x=element_blank(),
axis.title.y=element_blank())
Run Code Online (Sandbox Code Playgroud)
但是,我不明白一些事情.我认为这段代码会给我一个特定区域内固定数量的图表(区域越红,固定越多).但是,看看这个图例,我不确定这个图表显示的是什么.如何获得显示注视数量的图表?我也希望传说能反映出注视的数量,所以注意力越多.任何的想法??
我编辑以添加一些可能有用的额外信息.在我的原始数据框中,我还有一个名为fixation_index的变量.我认为我必须在某个地方包含这个变量,但不是很确定.
谢谢!
我正在尝试使用R创建热图。我正在尝试使用ggplot2。我的实际数据帧要大得多,但在这里我只包含一小部分
x <- c(502.9, 512.1, 716.6, 759.7, 776.1, 776.5, 736.1, 271.3, 304.7, 279.9, 263.8, 726.6, 767.6, 778.8, 779.2, 263.6, 291.8, 472.6, 499.9, 684.9)
y <- c(374.6, 367.4, 378.1, 373.7, 381.4, 395.7, 412.1, 399.2, 364.6, 382.1, 409.1, 410.4, 411.1, 429.4, 477.4, 468.6, 406.5, 343.2, 356.9, 365.2)
a <- data.frame(x,y)
ggplot(a, aes(x = x, y =y)) + stat_density2d(geom = "tile", aes(fill = ..density..), contour = FALSE) + scale_fill_gradient (low= "green", high="red") + geom_point()
Run Code Online (Sandbox Code Playgroud)
我想获得与此图像相似的东西,该区域越红,该区域中的点越多。
如您所见,当我尝试这样做时,我的背景是绿色的。如何更改代码以获取热图,如图所示?如何放置图片作为背景?
谢谢!