如何在ggplot地图中添加比例尺

use*_*371 6 gis maps r ggplot2 r-maptools

我有一个像这样的简单地图:

library(maps)
library(ggplot2)    
rs=map("world", col="gray80", 
          xlim=c(32.002755, 44.283487),
          ylim=c(12.075434, 30.211327),
          resolution=0, bg="white", lty=1, lwd=2, fill=T)
redsea= map_data(rs)
Run Code Online (Sandbox Code Playgroud)

然后我用它来绘制它ggplot2:

ggplot()+
   geom_polygon(data=redsea, 
          aes(long,lat, group=group, label=redsea$region), color="black", fill="gray80")+
   coord_fixed(xlim=c(32.002755, 44.283487),ylim=c(12.075434, 30.211327), ratio=1.3)+
   theme_bw()
Run Code Online (Sandbox Code Playgroud)

该地图对我来说看起来很完美,但我需要添加比例尺。我使用以下代码来做到这一点:

ggplot(....)+scalebar(39.392287,27.903255, dist=1000, location="topright", st.size=2)
Run Code Online (Sandbox Code Playgroud)

这不起作用,并给我一条警告消息,有时会抱怨该功能不存在。任何建议如何在此地图中添加比例尺和指北针?

Eri*_*ail 2

当我添加所有功能和所有必需的包时,即install.packages("ggplot2", "grid", "maptools", "maps", dependencies = TRUE)来自链接的博客文章,它对我有用(请参阅下面的代码)

\n\n

ggplot 地图中的比例尺

\n\n
ggplot(\xe2\x80\xa6) + scaleBar(lon = 38.5, lat = 28, distanceLon = 200, distanceLat = 100, distanceLegend = 200, dist.unit = "km", orientation = FALSE)\n
Run Code Online (Sandbox Code Playgroud)\n\n

我应该将博客文章中的所有代码都写到我的回复中吗?

\n