如何在R中创建一个有吸引力的Choropleth贴图?


18

我一直在尝试使用R中的Choropleth映射技术,获得了ggplot2在功能强大的数据分析包中创建漂亮图形的好处。

当涉及到映射时,我无法产生与我通常从QGIS获得的结果相当的结果。使用Sheffield中的流数据(此处是完全可复制的数据和.qgs文件),QGIS轻松生成了以下内容:

QGIS图片

使用R(使用此处描述的代码)可以产生的最好的效果是这两张地图,第一张使用GISTools,第二张使用ggplot2:

GISTools choropleth ggplot2 choro

对我来说,如果只能解决行错误的问题(可能是fortify()命令有问题,或者不使用此处介绍的readOGR()读取shapefile),则ggplot2选项似乎更具吸引力。

所以问题是两方面的:ggplot2选项是R中最佳的Choropleth映射解决方案吗?如果是的话,我该如何解决白线错误的问题?

找出我所做的可复制代码在这里

编辑-由于使choropleth()输出选项更具吸引力:

新Rplot

可以通过以更高的分辨率导出并删除图例来减少此选项的丑陋性(其他R图例可用)。仍然无法改变线的粗细,但它越来越好了!红线代表流向雇用超过5000名员工的区域。


1
如果减小多边形轮廓的尺寸(也许像第一个QGIS示例中那样使它们完全透明),则第一个R贴图看起来会更好。
Andy W

3
同意,但是我不知道该怎么做-我使用的代码是“ choropleth(oas,v = oas $ to,shades)”。搜索文档以删除行,但未找到任何内容:cran.r-project.org/web/packages/GISTools/GISTools.pdf
RobinLovelace 2012年

1
@RobinLovelace如果您放上R代码,我们当然可以为您解决这些问题,但是如果没有可复制的示例,很难找出问题所在。我非常感谢您付出的努力来制作(有用的)屏幕截图,但是图像只是应该在源代码的基础上提供的锦上添花。
SlowLearner

请参见上述.zip文件夹中包含的可复制代码,如上所述:dl.dropbox.com/u/15008199/Rflows-simple.zip
RobinLovelace 2012年

@RobinLovelace谢谢,有趣的是,已下载
SlowLearner 2012年

Answers:


7

关于这个非常有趣的主题,有一些很棒的资源,包括:

从革命:

Choropleth Map R挑战

Choropleth挑战赛结果

从Stack Overflow.se:

使用R开发地理主题地图

有个非常好的例子,例如ggplot2,它们是我最喜欢的(即附加的地图)。将您自己的数据集插入脚本示例之一应该相对简单。

此地图的R代码可从“ 这是绿色房间”获得


非常感谢您举报这些优秀资源并展示了美国的失业地图。虽然缺少传说!有什么建议如何将这些资源转换为谢菲尔德地图?代码片段整理了我使用ggplot2进行Choropleth映射的失败尝试,以及我提供的Sheffield数据,非常感谢!
RobinLovelace 2012年

@RobinLoveLace我很高兴这些链接对您有用。将您自己的数据集插入许多示例脚本中应该没有问题,尽管您可能不得不袖手旁观并对特定的软件包进行一些反复试验。不幸的是,我现在没有时间为您做,抱歉!
亚伦

1
我会玩,希望在地图改进时添加更多的编辑内容和可复制的代码。
RobinLovelace 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.