我试图使用ggplot将热图绘制到地图上(效果很好)但是如果我限制了轴,我的geom_polygon叠加会以错误的方式连接点。
ggplot(2017.fixes, aes(x=Long, y=Lat) ) +
stat_density_2d(aes(fill = ..density..), geom = "raster", contour=F)+
scale_fill_distiller(palette="PuBu", direction=1) +
geom_polygon (data=map.df,aes(x=long, y=lat,group=group), color="grey50", fill="grey", na.rm=T) +
#xlim(-156.95, -156.4)+
#ylim(20.55, 21.05 )+
coord_fixed()
产生这个:
但如果我取消注释xlim和ylim,我会得到这个:
它显然正确地切断了左岛,但不是其他两个,我不知道为什么。
答案 0 :(得分:5)
而不是
xlim(-156.95, -156.4) +
ylim(20.55, 21.05) +
coord_fixed()
使用:
coord_cartesian(xlim = c(-156.95, -156.4), ylim = c(20.55, 21.05)) +
这会在不删除数据的情况下限制轴。
http://ggplot2.tidyverse.org/reference/coord_cartesian.html
还可以尝试coord_map
绘制地图。