如何正确绘制 sf 对象
How to properly plot sf object
我有如下数据:
这些数据是从 Stata 数据集(.dta 导出为 .csv)中获得的,旨在绘制 shapefile 的地图。我将它导入 R,删除缺少数据的行,然后转换为 sf(我不确定这是否是最好的方法)。然后我画图。
coords <- read.csv("filename.csv") %>% drop_na()
coords2 <- st_as_sf(x=coords, coords = c("X_X", "X_Y"))
ggplot(coords2) + geom_sf()
这是我得到的:
我怎样才能得到一张有线而不是点的地图?以及如何根据另一个变量(例如 X_ID?
对各个地图区域进行着色
您可能需要使用 sp 包中的 points_to_lines。
library(sp)
map <- points_to_line(data = coords,
long = "X_X",
lat = "Y_Y",
id_field = "X_id",
sort_field = "shape_pt_sequence")
您可以使用 ggplot2::geom_path()
。不用转成sf对象,直接用坐标即可。
我有如下数据:
这些数据是从 Stata 数据集(.dta 导出为 .csv)中获得的,旨在绘制 shapefile 的地图。我将它导入 R,删除缺少数据的行,然后转换为 sf(我不确定这是否是最好的方法)。然后我画图。
coords <- read.csv("filename.csv") %>% drop_na()
coords2 <- st_as_sf(x=coords, coords = c("X_X", "X_Y"))
ggplot(coords2) + geom_sf()
这是我得到的:
我怎样才能得到一张有线而不是点的地图?以及如何根据另一个变量(例如 X_ID?
对各个地图区域进行着色您可能需要使用 sp 包中的 points_to_lines。
library(sp)
map <- points_to_line(data = coords,
long = "X_X",
lat = "Y_Y",
id_field = "X_id",
sort_field = "shape_pt_sequence")
您可以使用 ggplot2::geom_path()
。不用转成sf对象,直接用坐标即可。