小编C S*_*Sev的帖子

ggplot和geom_sf和错误:length(rows)== 1不为TRUE

我试图使用ggplot2新的(和令人敬畏的)简单功能映射包将几个地理数据集一起绘制geom_sf.当我试图强制线型特征的图例显示为一条线时,我会被传说和一个错误代码Error: length(rows) == 1 is not TRUE(似乎属于ddply)所淹没.

这是我调用的代码,它生成下面的图表; 一切都很好,除了传说,其中Line1显示为一个框/填充.

ggplot() + 
  geom_sf(data=sct, aes(fill=as.factor(sct$tc2)), color = "gray82") + 
  scale_fill_manual(values=c("white","goldenrod1","dodgerblue"), 
                    labels = c("Omitted", "Control", "Treated"), 
                    name = "Legend") +
  geom_sf(data=lines1925All, aes(color="A"), linetype="dashed") +
  scale_color_manual(values = c("A" = "olivedrab"), 
                     labels = c("Line1"),
                     name = "what line?") +
  theme_minimal() + 
  coord_sf(xlim=mapRange2[c(1:2)], ylim=mapRange2[c(3:4)])
Run Code Online (Sandbox Code Playgroud)

这是图:

在此输入图像描述

现在,如果我尝试使用show.legend(= TRUE或者= "line")强制图例看起来像一条线,在下面

  geom_sf(data=lines1925All, aes(color="A"), linetype="dashed", show.legend = "line") +
Run Code Online (Sandbox Code Playgroud)

我收到了错误Error: length(rows) …

r legend ggplot2 r-sf

5
推荐指数
2
解决办法
1041
查看次数

标签 统计

ggplot2 ×1

legend ×1

r ×1

r-sf ×1