2017-09-23 34 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 –

相關問題