我想在 R 中使用 ggplot2 绘制一个形状文件。更具体地说,我想绘制几个主要城市的每个街区的白人生活百分比。到目前为止,我一直在纽黑文工作。问题是某些块未填充,在这种情况下 % white = NA。Ggplot 自动将这些块绘制为灰色。我想把它们画成白色。
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)
尽管这会将 NA 块绘制为白色,但它也排除了这些块的多边形边界。有谁知道如何保持多边形轮廓?