我正在尝试绘制来自 Malaria Atlas Project 的一些数据。因此,我查看了 vignette 并使用了一个示例来开始:
if (!require("malariaAtlas")) install.packages("malariaAtlas")
shape <- getShp(ISO = "MDG", admin_level = "admin1")
raster <- getRaster(dataset_id = "Explorer__2020_Global_PfPR", shp = shape, year = 2013)
p <- autoplot(object = raster,
legend_title = "",
plot_titles = FALSE,
fill_colour_palette = "PuBu")
产生下图:
和警告消息:
在 geom_spatraster(data = object, use_coltab = use_coltab, ...) 中:忽略未知参数:
、legend_title
和plot_titles
fill_colour_palette
替代绘图版本
autoplot_MAPraster
支持一些服装化:
p <- autoplot_MAPraster(object = raster,
legend_title = "",
plot_titles = FALSE,
fill_colour_palette = "PuBu")
对于我的应用程序,我需要自定义图形(图例颜色和标题、栅格上的绘图形状、自定义标题……)。因此,我检查了源代码并修改了autoplot.MAPshp代码,没有任何问题,但我不知道如何让
ggplot2::geom_raster(data = object[object$raster_name == rastername,], ggplot2::aes_string(x="x", y="y", fill = "z"))
适用于autoplot.MAPraster代码。特别是,object[object$raster_name == rastername,]
,其中 object = raster
,给出错误消息:
h(simpleError(msg, call)) 中的错误: 在为函数“[”选择方法时评估参数“i”时出错:[子集]无效名称
我的目标是(对我来说)autoplot.MAPraster源代码的工作版本,可以修改。