我需要创建一个小岛的地图(黑白地图或灰度)。 worldHires
不起作用:
library(maps)
library(mapdata)
map("worldHires", fill=TRUE, col="grey80", xlim=c(105.2, 105.8), ylim=c(-10.8, -10.2))
map.scale(ratio=FALSE, relwidth = 0.18)
Error in map.poly(database, regions, exact, xlim, ylim, boundary, interior, :
nothing to draw: all regions out of bounds
我已经尝试了包ggmap
并遵循以下代码:
library(ggmap)
pngMAP_df <- get_map(location = c(lon = 105.62, lat = -10.5), source = "google", zoom = 12)
ggmap(pngMAP_df)
这有效但是:(1)这会创建一个颜色贴图,(2)我无法在地图上添加任何点或文字。
我可以如何绘制黑白地图并添加点,文字和比例(以公里为单位)的任何建议或想法?
答案 0 :(得分:3)
您应该将color
参数设置为黑白:
library(ggmap)
pngMAP_df<- get_map(location = c(lon = 105.62, lat = -10.5),
source = "google", zoom = 12,color='bw')
ggmap(pngMAP_df)
修改强>
您还可以使用qmap
将这两个功能结合起来进行快速地图绘制。
qmap(location = c(lon = 105.62, lat = -10.5),
source = "google", zoom = 12,color='bw')
答案 1 :(得分:0)
使用color="bw"
参数绘制地图后,可以使用标准ggplot2
命令添加点和文本:
library(ggmap)
pngMAP_df <- get_map(location = c(lon = 105.62, lat = -10.5),
source = "google",
zoom = 12,
color="bw")
ggmap(pngMAP_df) +
geom_point(x=105.58, y=-10.5, col="red") +
geom_text(x=105.60, y=-10.49, label="foo")
答案 2 :(得分:0)
如果您已阅读get_map
的{{3}},那么您会看到有color
个参数。将其添加到代码中可以获得灰度图像(见下文)。
library(ggmap)
pngMAP_df <- get_map(location = c(lon = 105.62, lat = -10.5),
source = "google",
color = "bw",
zoom = 12)
ggmap(pngMAP_df)
关于添加点,文字等,这些问题在本网站上的其他多个问题中都有介绍,只需搜索geom_point
和ggmap
(documentation或{{3例如)所以在这里回答它们就等于创建一个副本。在提出一个涵盖旧界的新问题之前,请在现有问题的答案中搜索帮助。