ggplot美国州地图;颜色很好,多边形锯齿状 - r

时间:2015-04-13 20:57:52

标签: r ggplot2 maps ggmap

我试图绘制一张美国地图,其中每个州都被它所拥有的数量着色。我已经让阴影工作得很好。然而,我遇到的问题是多边形看起来非常锯齿状(当我尝试将map_data('状态')与我的数据框合并时,我假设发生了一些事情。按州计算)。合并之前的数据框有49行(Nevada在我的集合中缺少数据),并且在合并之后有更多的行(预期用于状态的long / lat项目)但是数据似乎是为每个纬度/长度正确复制的对,所以我不确定为什么聚合物如此锯齿状。

代码:

ggplot() +
  geom_polygon(data=try1, aes(x=long, y=lat, group = group, fill= COUNT)) +
  scale_fill_continuous(low='thistle2', high='darkred', guide='colorbar') +
  theme_bw() + labs(fill="State Map Try Title1", title='Title2', x='', y='') +
  scale_y_continuous(breaks=c()) +
  scale_x_continuous(breaks=c()) +
  theme(panel.border = element_blank())

非常感谢任何帮助(显然,如果有更好的方法,我可以接受建议!)。

enter image description here

2 个答案:

答案 0 :(得分:14)

您无需进行合并。您可以使用geom_map并将数据与形状分开。以下是使用内置USArrests数据(使用dplyr重新格式化)的示例:

library(ggplot2)
library(dplyr)

us <- map_data("state")

arr <- USArrests %>% 
  add_rownames("region") %>% 
  mutate(region=tolower(region))

gg <- ggplot()
gg <- gg + geom_map(data=us, map=us,
                    aes(x=long, y=lat, map_id=region),
                    fill="#ffffff", color="#ffffff", size=0.15)
gg <- gg + geom_map(data=arr, map=us,
                    aes(fill=Murder, map_id=region),
                    color="#ffffff", size=0.15)
gg <- gg + scale_fill_continuous(low='thistle2', high='darkred', 
                                 guide='colorbar')
gg <- gg + labs(x=NULL, y=NULL)
gg <- gg + coord_map("albers", lat0 = 39, lat1 = 45) 
gg <- gg + theme(panel.border = element_blank())
gg <- gg + theme(panel.background = element_blank())
gg <- gg + theme(axis.ticks = element_blank())
gg <- gg + theme(axis.text = element_blank())
gg

enter image description here

答案 1 :(得分:0)

使用ggplot2时遇到了类似的问题。作为@hrbrmstr解决方案的替代方案,我发现重新加载ggplot2包(以及rgdal /`maptools')为我解决了这个问题。