首页 > 解决方案 > R: ggplot2 以英里为单位的比例尺

问题描述

我一直在尝试找到一个好的函数来为我制作的一些地图创建以英里为单位的比例尺。但是,我发现的所有软件包都只允许您使用以公里为单位的比例尺。我需要它以英里为单位。我遇到了 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)

我得到的情节(左下角的比例尺): 比例尺位于左下角

标签: rggplot2maps

解决方案


推荐阅读