2014-05-03 42 views
1

我试图绘制一个单一的美国各州在mapproj库使用地图功能时,调整状态,加州:如何R中

map('state', region = c('CA')

我得到一个不错的情节:

enter image description here

但是,国家很小。我似乎无法找到有关如何调整图像大小的任何争论。我已经尝试可能ggplot内常用的一些解决方案,如

map('state', region = c('CA'), height=600, width=800)

但没有任何变化。任何建议都可以挽救生命。谢谢。

回答

3

如果你可以使用ggplot2,这是相当容易一点调整:

library(sp) 
library(maps) 
library(maptools) 
library(ggplot2) 

calif <- map_data('state', region="CA") 
calif.df <- fortify(calif) 

gg <- ggplot() 
gg <- gg + geom_map(data=calif.df, map = calif.df, 
        aes(map_id=region, x=long, y=lat), 
        fill="white", color="black") 
gg <- gg + coord_map() 
gg <- gg + labs(x="", y="") 
gg <- gg + theme(plot.background = element_rect(fill = "transparent", color = NA), 
       panel.border = element_blank(), 
       panel.background = element_rect(fill = "transparent", color = NA), 
       panel.grid = element_blank(), 
       axis.text = element_blank(), 
       axis.ticks = element_blank(), 
       legend.position = "right") 
gg 

enter image description here

+0

埃。愚蠢的软件许可问题阻止它自动运行。我实际上已经安装了'rgeos'库,所以我总是忘记这个错误。 CRAN有'rgeos'的二进制包,所以如果你使用它,它应该使这个错误消失。否则,在调用'fortify'之前使用'gpclibPermit()'。 – hrbrmstr

+0

IIRC,如果你不得不去使用''greplot'路线,你需要扩展shapefile中的多边形或者使用图形设备做一些有趣的事情。我现在在'ggplot'中完成我所有的制图工作,所以如果有“基础地图”解决方案,我不是最新的。 – hrbrmstr

+0

感谢您的出色解决方案(尽管我相信mapproj库最终基于ggplot2)。感谢您对奇怪的许可证错误的建议! –