R:以英里为单位的ggplot2比例尺

时间:2018-05-02 14:16:06

标签: r ggplot2 maps

我一直在努力找到一个很好的功能来为我制作的地图创建一个里程碑。但是,我发现的所有包只允许你以km为单位的比例尺。我需要它在几英里。我从

中看到了scale_bar函数
devtools::install_github("3wen/legendMap")

允许您将单位更改为英里。我一直在玩弄着让它整个上午工作的论据,但似乎没有什么能让它发挥作用。如果有人可以帮我解决这个问题或知道任何可以做到这一点的软件包,我将不胜感激。提前谢谢。

graph1<-ggplot()+
  geom_polygon(data=middlestates,colour="black",fill="#D3D3D3",aes(x=long,y=lat,group=group))+
  geom_polygon(data=df,colour="black",aes(x=long,y=lat,group=group,fill=ALG))+
  ggtitle("Figure 2.2A: Assessment Results for\nGeneral Aquatic Life Use, Spatial Extent")+
  xlab("")+
  ylab("")+
  coord_cartesian(xlim=c(200000.732,905000.646), ylim=c(-5812.321,900000.543))+
  #ggsn::scalebar(df,location="bottomleft",dist = 50,st.dist=0.02,st.size=3, height=0.01)+
  scale_fill_manual("Aquatic Life Designated\nUse 2014 Assessment",values=c((values=c(colors))))+
  cowplot::background_grid(major= "none",minor = "none") +
  theme(axis.text.x = element_blank(), axis.ticks.x = element_blank(),
        axis.text.y = element_blank(), axis.ticks.y = element_blank(),
        axis.line = element_blank(),
        panel.background = element_blank(),
        legend.position=c(0.8,0.2),
        panel.border = element_rect(fill=NA),
        legend.background = element_blank(),
        legend.text = element_text(size=12),
        legend.title = element_text(colour="black", size=12, face="bold"),
        plot.title=element_text(size=15, face="bold",hjust=0.5))
graph1+scale_bar(lon =200000.732, lat = -5812.321,distance_lon = 1,distance_lat = 5,distance_legend = 2,dist_unit = "mi", orientation = FALSE)

我得到的情节(左下角的比例尺): The scale bar is in the bottom left corner

0 个答案:

没有答案