我想在R中使用ggplot2绘制一个形状文件。更具体地说,我想在几个主要城市的每个区块中绘制%white。到目前为止,我和纽黑文合作过。问题是某些块未填充,在这种情况下%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")
我可以通过在scale_fill_gradient参数中添加na.value = NA来排除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块绘制为白色,但它也会排除这些块的多边形边框。有谁知道如何保持多边形轮廓?
答案 0 :(得分:0)
如果没有可重复的数据集,我无法测试这是否适用于您的具体情况。
尝试将颜色传递给na.value
,如下所示:
scale_fill_gradient(name = "% White",na.value="white")