我想用x,y坐标创建一个数据帧的高分辨率热图。足球比赛的数据

时间:2019-07-10 11:50:11

标签: r heatmap

我已经追踪了一场室内足球比赛。每个玩家都有一个gps跟踪器,该跟踪器每秒钟生成20个x坐标值和20个y坐标值。所以我想做的是一个类似下图的热图。

您认为最简单,最好的方法是什么?

我已经尝试过使用MASS软件包的方法。

df <- data.frame(x,y)
h2 <- hist2d(df)
h2 <- hist2d(df, nbins=100, col=r)
h2 <- hist2d(df, nbins=100, col=r, FUN=function(x) log(length(x)))

实际输出是一个情节,在该情节上,我可以看到球员所在的位置以及他更常出现在哪个位置。但是对我来说,分辨率太低,如果我增加nbins,那么点只会变小。对我来说,应该有点像云。所以我想要的是一个类似的视图,就像我在上面的链接中已经提到的图片一样。

您可以找到我的数据框

https://drive.google.com/open?id=1SA2oT78wFdXmuz2j2UOOyZvzgwYpgXkT

enter image description here

1 个答案:

答案 0 :(得分:0)

我们可以使用hexbin包对点进行聚类并将其绘制为热图:

library(hexbin)
library(RColorBrewer)

crbrew <- colorRampPalette(rev(brewer.pal(11,'Spectral')))

hb <- hexbin(df$x,df$y,xbins = 40)

plot(hb, colramp=crbrew)