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
包或maptools
package(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 次 |
最近记录: |