1 r geospatial ggplot2 lattice
我有几个文件格式如下:lat,lon,value.我想为每个lat,lon点绘制一个带有这样值的彩色网格地图,并将其重叠在EU地图上.
感谢你的支持.
大致有两种选择:一种使用lattice和sp包,另一种使用ggplot2包:
首先SpatialPixelsDataFrame,假设您的数据被调用,您必须将数据转换为(由sp-package提供)df:
require(sp)
gridded(df) = c("lat","lon")
Run Code Online (Sandbox Code Playgroud)
然后绘图:
spplot(df, "value")
Run Code Online (Sandbox Code Playgroud)
可以使用以下sp.layout参数覆盖诸如国家边界之类的附加信息:
spplot(df, "value", sp.layout = list("sp.lines", cntry_boundaries))
Run Code Online (Sandbox Code Playgroud)
其中cntry_boundaries是SpatialLines(DataFrame)或SpatialPolygons(DataFrame).将多边形集读入R可以使用rgdal包或maptoolspackage(readShapeLines)来完成.
我个人更喜欢使用ggplot2过spplot.ggplot2更灵活,语法更清晰.请注意,ggplot2使用普通data.frame的,而不是sp-package的空间对象.
一个最小的例子看起来像:
ggplot(aes(x = lat, y = lon), data = df) + geom_tile(aes(fill = value)) +
geom_path(data = cntry_boundaries)
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅我之前的这些答案:
| 归档时间: |
|
| 查看次数: |
5748 次 |
| 最近记录: |