我已经在Excel(NYC地铁站的每日负荷)上收集了一些数据。第一列具有站点名称,第二列具有占用位置,第三列和第四列具有经度和纬度,如下所示。
如何将其转换为纽约市的热图?我知道可以使用R或Matlab进行编码,但可以使用其他任何方便的方法。
答案 0 :(得分:1)
Qgis是一个开源工具。在其中,您可以从.csv文件创建一个图层,然后在图层属性==>样式中选择热图并修改其他变量。完成此步骤后,在raster ==> heatmap下,修改其他参数即可完成操作。
答案 1 :(得分:1)
首先,仅进行五次观察,热图可能不是可视化给定数据的最佳方法。将每个观察点作为一个点,然后按占用率进行颜色编码可能是解决给定问题的更好方法。通常,只要有经纬度数据,我都会使用R中的GGMap库和Google Maps API绘制数据。可以在下面找到在R中制作热图(如果您真正想要的)的代码,但请注意,您必须具有Google Maps API密钥(学生免费!)。
library(tidyverse)
library(ggmap)
library(devtools)
register_google("YOUR_API_KEY")
nyc_map <- get_map(location = c(lon = -74.00, lat = 40.71), maptype = "terrain", zoom = 13)
ggmap(nyc_map) +
geom_density2d(data = data, aes(x = Longitude, y = Latitude, fill = Occupancy), size = 0.3) +
stat_density2d(data = data, aes(x = Longitude, y = Latitude, fill = ..level.., alpha = ..level..), size = 0.01, bins = 16, geom = "polygon") +
scale_fill_gradient(low = "green", high = "red") +
scale_alpha(range = c(0, 0.3), guide = FALSE)
这并不完美,但这是制作热图的快速方法,也是一个很好的起点。请注意,测站相距很远,因此添加更多观测值可能会使绘图变得更好。
我使用ggmap-demo-heat来获取制作热图的代码。再次,我建议为每个站点使用单个点(geom_point),然后按占用率对每个点上色。 geom_point(data = data, aes(x = Longitude, y = Latitude, col = occupany))
可能是一个不错的起点。