【问题标题】:creating heatmap with R with eye-tracker data使用 R 和眼动仪数据创建热图
【发布时间】:2013-04-20 09:07:03
【问题描述】:

我有一张由以下数据组成的表格

frame,X,Y

这是多次眼动追踪分析的结果数据。 现在我想使用 R 创建一个热图,如下所示

我尝试了几个在网上找到的脚本,但没有一个给我这个结果。

我该怎么办?


这里有一些示例数据 忽略前两列

task,visualization,frame,X,Y
1,b,1,383,221
1,b,1,632,356
1,b,1,947,663
1,b,1,546,206
1,b,1,488,272    
1,b,1,578,752
1,b,1,415,261
1,b,1,693,158
1,b,1,684,528
1,b,1,592,67
1,b,1,393,180
1,b,1,1033,709
1,b,1,1080,739
1,b,1,711,523
1,b,1,1246,49
1,b,1,742,69
1,b,1,601,370
1,b,10,902,684
1,b,10,517,241
1,b,10,583,86
1,b,10,582,754
1,b,10,426,257
1,b,10,575,229
1,b,10,697,150
1,b,10,379,520
1,b,10,390,286
1,b,10,618,396
1,b,10,710,143
1,b,10,383,188
1,b,10,1026,713
1,b,10,1078,625
1,b,10,713,521

【问题讨论】:

  • 请让您的情况可重现,即向我们提供模拟您的情况所需的数据和代码。有关如何执行此操作的更多提示,请参阅stackoverflow.com/questions/5963269/…
  • 您需要以某种方式“地理参考”您的图像,并且从那里“简单”内核化。

标签: r csv ggplot2 heatmap


【解决方案1】:

您可以使用来自ggplot2stat_bin2d 轻松获得这种类型的情节:

library(ggplot2)
ggplot(dat, aes(x = X, y = Y)) + stat_bin2d(bins = 10)

这会进行简单的分箱,正如@RomanLustrik 建议的那样,您还可以执行某种内核平滑。这也可以使用ggplot2

ggplot(dat, aes(x = X, y = Y)) + 
 stat_density2d(geom = "tile", aes(fill = ..density..), contour = FALSE) + 
 geom_point()

请注意dat 是您提供的示例数据,将您的数据放入data.frame

dat = read.table(textConnection("task,visualization,frame,X,Y
    1,b,1,383,221
    1,b,1,632,356
    1,b,1,947,663
    1,b,1,546,206
    1,b,1,488,272    
    1,b,1,578,752
    1,b,1,415,261
    1,b,1,693,158
    1,b,1,684,528
    1,b,1,592,67
    1,b,1,393,180
    1,b,1,1033,709
    1,b,1,1080,739
    1,b,1,711,523
    1,b,1,1246,49
    1,b,1,742,69
    1,b,1,601,370
    1,b,10,902,684
    1,b,10,517,241
    1,b,10,583,86
    1,b,10,582,754
    1,b,10,426,257
    1,b,10,575,229
    1,b,10,697,150
    1,b,10,379,520
    1,b,10,390,286
    1,b,10,618,396
    1,b,10,710,143
    1,b,10,383,188
    1,b,10,1026,713
    1,b,10,1078,625
    1,b,10,713,521"), header = TRUE, sep = ",")

【讨论】:

  • 第一个解决方案可以通过包含图像来稍微改进,因此(需要 ggpubr):ggplot(dt, aes(x = world_gazeX, y = world_gazeY)) + background_image(bgimg) + stat_bin2d (箱 = 30)
猜你喜欢
  • 2021-09-26
  • 1970-01-01
  • 1970-01-01
  • 2014-04-05
  • 2014-11-01
  • 2018-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多