我想使用ggplot在美国州地图中使用R中的每种状态使用唯一颜色。这怎么可能?

时间:2017-08-13 13:34:07

标签: r ggplot2 visualization spatial

all_states <- map_data("state")
p <- ggplot()
p <- p + geom_polygon( data=all_states, aes(x=long, y=lat, group = group),colour="white", fill="grey30" )
p

代码在上面,我也想使用geom_map而不是geom_polygon。在上面的代码中我只能为灰色或任何其他颜色着色。我想要的是每个状态的唯一颜色< / I>

1 个答案:

答案 0 :(得分:1)

您需要制作自己的调色板,找到R颜色列表并创建所有颜色的连接列表。您需要确保每种状态都有级别来分配颜色。

如果您想自己将它们分配给状态,以便相似的颜色彼此不相邻,您可以通过数据框中的代码或名称为颜色指定颜色。

p + scale_colour_manual(values = c("New York" = "#E08214", "New Jersey" = "#E08214", "New Hampshire" = "#336699"))

这使您可以控制颜色的显示方式。