【发布时间】:2014-12-07 01:15:54
【问题描述】:
我想知道我是否可以使用ggplot 为国家/地区着色?使用rworldmap 这非常简单,并且通过ggplot 将点添加到纬度/经度值也很容易。
有没有一种方法可以使用ggplot(ISO3 中的国家名称和每个国家/地区的数字)根据简单表格为国家/地区着色?)着色应基于计数。
p <- ggplot(legend=FALSE) +
geom_polygon(fill = "darkseagreen", data=world, aes(x=long, y=lat,group=group)) +
geom_path(colour = "grey40") +
theme(panel.background = element_rect(fill = "lightsteelblue2", colour = "grey")) +
theme(panel.grid.major = element_line(colour = "grey90")
) +
theme(panel.grid.minor = element_blank()) +
theme(axis.text.x = element_blank(),
axis.text.y = element_blank()) +
theme(axis.ticks = element_blank()) +
xlab("") + ylab("")
【问题讨论】:
-
当然可以,您只需要在数据集中填写一列并设置
aes(fill = that_column)。请记住,地理数据绘制的顺序很重要,因此更喜欢plyr::join或dplyr::left_join而不是merge,因为它们保留了第一个数据框的顺序。 -
感谢您的评论。 “that_column”列可以由 ISO3 国家代码组成,相应的国家会被着色吗?如何定义渐变,以便着色反映一些数字(基本上是每个要着色的国家的计数)?
-
从答案中可能一切都清楚了,但为了使这条评论链更完整:不,
that_column将是实际数据,如人口、GDP,无论您测量什么。