在 R 中使用 ggmap 包进行动态绘图
Dynamic plotting using ggmap package in R
我正在尝试在 google 地图上绘制我的点。但是,我面临的问题是我必须为每个输入数据文件设置位置点和缩放。我试图通过变量使用它,但它不起作用。有人可以帮忙吗?
这是我尝试过的:
library(ggmap)
library(ggplot2)
lionmap <- get_map(location=c(70.76, 21.038), zoom=12, maptype="hybrid")
此代码仅适用于静态点。我怎样才能使它动态化?
这是我的数据集的头部结构:
lion.id date time activity lat long distance
1 2 05-05-2002 10:45:00 Feeding 21.14169 70.79053 0.00000
2 2 05-06-2002 10:00:00 Resting 21.14158 70.79314 271.50019
3 2 05-06-2002 19:22:00 Walking 21.14158 70.79314 0.00000
4 2 05-06-2002 19:25:00 Walking 21.14164 70.79267 49.43485
5 2 05-06-2002 19:30:00 Resting 21.14181 70.79222 49.71674
6 2 05-06-2002 23:15:00 Walking 21.14181 70.79222 0.00000
structure(list(lion.id = c(2L, 2L, 2L, 2L, 2L, 2L), date = c("05-05-2002",
"05-06-2002", "05-06-2002", "05-06-2002", "05-06-2002", "05-06-2002"
), time = c("10:45:00", "10:00:00", "19:22:00", "19:25:00", "19:30:00",
"23:15:00"), activity = c("Feeding", "Resting", "Walking", "Walking",
"Resting", "Walking"), lat = c(21.1416944444444, 21.1415833333333,
21.1415833333333, 21.1416388888889, 21.1418055555556, 21.1418055555556
), long = c(70.7905277777778, 70.7931388888889, 70.7931388888889,
70.7926666666667, 70.7922222222222, 70.7922222222222), distance = c(0,
271.500188739303, 0, 49.4348465237462, 49.7167383971771, 0)), .Names = c("lion.id",
"date", "time", "activity", "lat", "long", "distance"), row.names = c(NA,
-6L), class = "data.frame")
我不确定你在追求什么,但我想为你提供两种选择。如果要创建静态地图,可以使用ggmap。
library(ggplot2)
library(ggmap)
lionmap <- get_map(location = c(70.79, 21.14), zoom = 15, maptype = "hybrid")
ggmap(lionmap) + geom_point(data = mydf, aes(x = long, y = lat), size = 3, color = "white")
如果你真的想要交互式地图,你可以使用传单,例如。
library(leaflet)
library(magrittr)
leaflet(mydf) %>%
addTiles() %>%
setView(lng = 70.79, lat = 21.14, zoom = 15) %>%
addCircleMarkers()
数据
mydf <- structure(list(lion.id = c(2L, 2L, 2L, 2L, 2L, 2L), date = c("05-05-2002",
"05-06-2002", "05-06-2002", "05-06-2002", "05-06-2002", "05-06-2002"
), time = c("10:45:00", "10:00:00", "19:22:00", "19:25:00", "19:30:00",
"23:15:00"), activity = c("Feeding", "Resting", "Walking", "Walking",
"Resting", "Walking"), lat = c(21.1416944444444, 21.1415833333333,
21.1415833333333, 21.1416388888889, 21.1418055555556, 21.1418055555556
), long = c(70.7905277777778, 70.7931388888889, 70.7931388888889,
70.7926666666667, 70.7922222222222, 70.7922222222222), distance = c(0,
271.500188739303, 0, 49.4348465237462, 49.7167383971771, 0)), .Names = c("lion.id",
"date", "time", "activity", "lat", "long", "distance"), row.names = c(NA,
-6L), class = "data.frame")
我正在尝试在 google 地图上绘制我的点。但是,我面临的问题是我必须为每个输入数据文件设置位置点和缩放。我试图通过变量使用它,但它不起作用。有人可以帮忙吗?
这是我尝试过的:
library(ggmap)
library(ggplot2)
lionmap <- get_map(location=c(70.76, 21.038), zoom=12, maptype="hybrid")
此代码仅适用于静态点。我怎样才能使它动态化?
这是我的数据集的头部结构:
lion.id date time activity lat long distance
1 2 05-05-2002 10:45:00 Feeding 21.14169 70.79053 0.00000
2 2 05-06-2002 10:00:00 Resting 21.14158 70.79314 271.50019
3 2 05-06-2002 19:22:00 Walking 21.14158 70.79314 0.00000
4 2 05-06-2002 19:25:00 Walking 21.14164 70.79267 49.43485
5 2 05-06-2002 19:30:00 Resting 21.14181 70.79222 49.71674
6 2 05-06-2002 23:15:00 Walking 21.14181 70.79222 0.00000
structure(list(lion.id = c(2L, 2L, 2L, 2L, 2L, 2L), date = c("05-05-2002",
"05-06-2002", "05-06-2002", "05-06-2002", "05-06-2002", "05-06-2002"
), time = c("10:45:00", "10:00:00", "19:22:00", "19:25:00", "19:30:00",
"23:15:00"), activity = c("Feeding", "Resting", "Walking", "Walking",
"Resting", "Walking"), lat = c(21.1416944444444, 21.1415833333333,
21.1415833333333, 21.1416388888889, 21.1418055555556, 21.1418055555556
), long = c(70.7905277777778, 70.7931388888889, 70.7931388888889,
70.7926666666667, 70.7922222222222, 70.7922222222222), distance = c(0,
271.500188739303, 0, 49.4348465237462, 49.7167383971771, 0)), .Names = c("lion.id",
"date", "time", "activity", "lat", "long", "distance"), row.names = c(NA,
-6L), class = "data.frame")
我不确定你在追求什么,但我想为你提供两种选择。如果要创建静态地图,可以使用ggmap。
library(ggplot2)
library(ggmap)
lionmap <- get_map(location = c(70.79, 21.14), zoom = 15, maptype = "hybrid")
ggmap(lionmap) + geom_point(data = mydf, aes(x = long, y = lat), size = 3, color = "white")
如果你真的想要交互式地图,你可以使用传单,例如。
library(leaflet)
library(magrittr)
leaflet(mydf) %>%
addTiles() %>%
setView(lng = 70.79, lat = 21.14, zoom = 15) %>%
addCircleMarkers()
数据
mydf <- structure(list(lion.id = c(2L, 2L, 2L, 2L, 2L, 2L), date = c("05-05-2002",
"05-06-2002", "05-06-2002", "05-06-2002", "05-06-2002", "05-06-2002"
), time = c("10:45:00", "10:00:00", "19:22:00", "19:25:00", "19:30:00",
"23:15:00"), activity = c("Feeding", "Resting", "Walking", "Walking",
"Resting", "Walking"), lat = c(21.1416944444444, 21.1415833333333,
21.1415833333333, 21.1416388888889, 21.1418055555556, 21.1418055555556
), long = c(70.7905277777778, 70.7931388888889, 70.7931388888889,
70.7926666666667, 70.7922222222222, 70.7922222222222), distance = c(0,
271.500188739303, 0, 49.4348465237462, 49.7167383971771, 0)), .Names = c("lion.id",
"date", "time", "activity", "lat", "long", "distance"), row.names = c(NA,
-6L), class = "data.frame")