我目前正在使用scale_brewer()填充物,这些颜色看起来很漂亮(在屏幕上和通过彩色打印机),但在使用黑白打印机时相对均匀地打印为灰色.我搜索了在线ggplot2文档,但没有看到任何关于添加纹理来填充颜色的内容.有没有官方的ggplot2方式来做这个或有人有他们使用的黑客?通过纹理,我的意思是像斜条,反向对角线条,点图案等,当黑白打印时会区分填充颜色.
我有一个 shapefile(有几个多边形)和一个带坐标的数据框。我想将数据框中的每个坐标分配给 shapefile 中的多边形。因此,要在具有多边形名称或 id 的数据框中添加一列,这是数据的链接
library(sf)
library(readr)
shape <- read_sf("data/mesopelagic_regions/GlasgowMesopelagicProvinces_v1_2017.shp")
data<- read_csv("data/data.csv")
Run Code Online (Sandbox Code Playgroud)
但是当我尝试加入他们时,我总是收到错误
pts = st_as_sf(data, coords = c("dec_lon", "dec_lat"), crs= 4326)
st_join(pts, shape)
Run Code Online (Sandbox Code Playgroud)
我尝试了over()函数和其他技巧,如 st_make_valid()但我总是收到此错误:
Error in s2_geography_from_wkb(x, oriented = oriented, check = check) : Evaluation error: Found 30 features with invalid spherical geometry.
这是最近的问题(在我的代码工作之前),但现在我无法使用 sf 包来完成这项任务,我总是以这个错误告终。我更新了库以查看它是否有帮助,但我无法使其工作。
我真的很感激你在这件事上的帮助