2017-09-23 46 views
1

例如,这是使用GPS数据从网站热图:​​有没有办法在ggplot中创建geom_path热图?

enter image description here

我已经得到了一定程度的成功与添加weight参数,每个顶点和计算已经接近顶点事件的数量这些,但这需要很长时间,尤其是对于大量的数据。当顶点之间的距离有点不规则时,它也显得有点斑点,这会导致整个热图中不同颜色的随机斑点。它看起来很酷,但它使数据更难以阅读。

当您缩小时,由于路径重叠更多,它看起来更连续一些。

enter image description here

在R,我可以做这个最接近涉及使用alpha通道,但只得到我的单色热图,这并不总是可取的,尤其是当你想看到更小的旅行路径明显。在理论上,我可以做两行来解决可见性部分(第一不透明,第二半透明),但我希望能够具有不同的色调值。

理想情况下,我希望这与ggplot一起工作,但如果它不能,我会接受其他方法,只要它们计算速度合理。

编辑:数据格式是一个连续(纬度,经度)坐标对的数据框,以及一些可用于过滤分组(例如活动类型和事件ID)的相关数据。

这里是在上述图像显示区域中的数据的样本(〜1.5 MB):

https://www.dropbox.com/s/13p2jtz4760m26d/sample_coordinate_data.csv?dl=0

+0

不知道数据格式有问题的人可能可以协助 – hrbrmstr

回答

0

我会尝试像

ggplot() + geom_count(data, aes(longitude, latitude, alpha=..prop..)) 

但你需要显示一些数据来检查它是如何工作的。

+0

我拥有的数据不是分箱的。它是相对连续的,并且点之间的分离很重要,具体取决于您放大的程度。我正在寻找广义梯度,而不仅仅是基于alpha的梯度。例如,上面给出的例子对于较小行程的路径是紫色的,变得更橙色,然后对于更多遍历的路径更黄。我能想到atm的唯一方法就是模拟在大型matriix上绘制线条,递增每个点,并在使用'reshape2()'''melt()'或类似的东西之后将geom_raster()放在ggplot上。 –

+0

因此,尝试使用geom_count(aes(... color = .. prop ..))+ scale_color_gradient(low =“orange”,high =“yellow”) –

+0

所以我做了一个涉及重叠段10的事件-20倍在一个部分。最终结果是规模最高和最低的混合。甚至一些没有技术重叠的单轨区域也被认为是重叠的。虽然这绝对是正确的,但我需要进一步完善。图像示例:https://i.imgur.com/PEhzfmp.png –

相关问题