新建ggplot2::ggproto对象时extra_params内需指定哪些参数
关于ggplot2::ggproto的extra_params字段规则说明
目前没有官方公开文档单独说明extra_params需要定义的参数范围,相关规则可以从ggplot2的源码实现逻辑推导,你提到的推测是完全正确的:extra_params的作用就是收纳不会显式传递给对应draw_group()/draw_panel()绘制函数的参数,这类参数仅会在setup_params()、setup_data()这类数据、参数预处理阶段被调用。
对应你提到的GeomRibbon案例可以完全匹配这个规则:
orientation参数仅在预处理阶段用于判断坐标轴映射逻辑,不需要传入draw_group(),所以会被列入extra_paramsoutline.type是直接控制图形绘制逻辑的参数,需要直接传递给draw_group()调用,因此不需要放入extra_params
如果需要自定义Geom或Stat类的ggproto对象,只需要把所有仅在预处理阶段使用、不需要传入最终绘制方法的参数名,以字符串形式放到extra_params字符向量中即可,漏加对应参数会触发参数未匹配的运行警告。
内容的提问来源于stack exchange,提问作者moremo
相关产品推荐
相关产品推荐

