在R的Plotly散点图中添加多边形报错,求解决方法
问题原因及解决办法
错误原因
你遇到的报错是因为add_polygons默认会继承初始散点图的data对象(也就是行数为11149的data数据框),同时也会继承text、color这些属性。但你用来画多边形的xym只有42行,导致x/y的长度(42)和继承来的text/color长度(11149)不匹配,触发了tibble的尺寸兼容检查错误。
解决方法
有两种方式可以解决这个问题:
明确指定多边形的数据源
在add_polygons中通过data参数指定使用xym作为数据源,并用公式语法引用列,这样就不会继承原散点图的数据集和属性:fig <- fig %>% add_polygons(data = xym, x = ~x, y = ~y)关闭属性继承
添加inherit = FALSE参数,告诉Plotly不要继承前一个trace的任何数据和属性:fig <- fig %>% add_polygons(x = xym$x, y = xym$y, inherit = FALSE)
推荐使用第一种方法,更符合Plotly的语法规范,也能避免后续可能出现的其他继承问题。
内容的提问来源于stack exchange,提问作者reinoud
相关产品推荐
相关产品推荐

