【问题标题】:Outline polygon border that has been removed due to NA's由于 NA 已删除的轮廓多边形边框
【发布时间】:2012-12-02 07:34:22
【问题描述】:

我想在 R 中使用 ggplot2 绘制一个形状文件。更具体地说,我想绘制几个主要城市的每个街区的白人生活百分比。到目前为止,我一直在纽黑文工作。问题是某些块未填充,在这种情况下 % white = NA。 Ggplot 自动将这些块绘制为灰色。我想把它们画成白色。

New Haven with grey NAs

c_opts <- theme(axis.text.x=element_blank(), 
axis.text.y=element_blank(), 
axis.title.x=element_blank(), 
axis.title.y=element_blank(), 
axis.ticks = element_blank(),
legend.text=element_text(size=10), 
legend.background=element_blank(), 
legend.key=element_rect(fill='transparent', colour=NA), 
panel.grid.major=element_line(colour='white'), 
panel.background=element_rect(fill='transparent', colour=NA),
legend.justification=c(0,0), 
legend.position=c(.15,.15),
legend.title=element_text(size=11, face='bold'))

map <- qplot(PolyCoordsY, PolyCoordsX, data=nh_geom, group=Poly_Name, fill = pc_nhwhite, geom="polygon", xlab = "", ylab = "", main = "New Haven") 
map + c_opts + scale_fill_gradient(name = "% White")

我可以通过将 na.value = NA 添加到 scale_fill_gradient 参数来排除 NA。

map <- qplot(PolyCoordsY, PolyCoordsX, data=nh_geom, group=Poly_Name, fill = pc_nhwhite, geom="polygon", xlab = "", ylab = "", main = "New Haven") 
map + c_opts + scale_fill_gradient(name = "% White", na.value = NA)

New Haven with excluded NAs

虽然这会将 NA 块绘制为白色,但它也排除了这些块的多边形边界。有谁知道如何保持多边形轮廓?

【问题讨论】:

  • 请提供可重现的数据集。此外,请考虑使用ggplot() 而不是qplot(),因为它更适合处理涉及的绘图任务。

标签: r maps shapefile ggplot2


【解决方案1】:

如果没有可重现的数据集,我无法测试这是否适用于您的具体情况。

尝试像这样将颜色传递给na.value

scale_fill_gradient(name = "% White",na.value="white")

【讨论】:

  • 使用ggplot() 代替qplot() 原来是一个非常好的主意。通过在 ggplot 之后添加一个 geom_polygon() 参数,我能够提出一个令人满意的解决方案,该参数是 NA 的子集:ggplot(aes(PolyCoordsY, PolyCoordsX, group=Poly_Name, fill=pc_nhwhite), data=nh_geom, main = "New Haven") + geom_polygon() + c_opts + scale_fill_gradient(name = "% White", na.value = NA) + geom_polygon(aes(PolyCoordsY, PolyCoordsX, colour = NA), data = subset(nh_geom, is.na(pc_nhwhite)), fill = "white", alpha = 0.5, linetype = 1, col = "grey", cex = 0.25)
猜你喜欢
  • 2020-06-17
  • 2013-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-24
相关资源
最近更新 更多