我试图使用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) …