提升R语言的数据可视化效果的五个范例

大数据文摘2019-02-10 16:19:33
点击上方“大数据文摘”可以订阅哦!


源自|一览众山小-可持续城市与交通 微信ID:SustainableCity

文|James 译|LapYeung 编辑:Ivy


当我开讲R语言课程时,开场白通常是:纽约时报的视觉部门或Facebook,现在正在使用这款软件来挖掘数据,给出壮美的可视化效果。不过,说完这些之后,我需要努力给出实际的案例,以展示R语言输出的结果如何变为令人震惊的、信息量巨大的图片。现在,这终于不再那么困难了。


去年,我与一位妙人设计师Oliver Uberti,一起写了一本书,其中有100多幅关于伦敦的地图和信息图。我们为这本《伦敦:信息之都》制作的绝大部分信息图,需要利用R语言,呈现某些形状或形式。R语言可用来做任何事,从简化数百万的GPS数据,到制作泡泡图或简单绘制大量直线。我们每三天就得做出一张图,以在截止期限前完成,如果复制粘贴R语言的代码毫无效率,或制作任何图片都没有灵活性,那么这本书不可能完成。如果你对利用R语言创作伟大图片的过程感兴趣,请注意下面展示的5组图片,包括利用R语言刚制作出的草图,到最后成型的作品。



这张图片展示了英格兰南部通勤者起讫点流。在R语言中,我利用绝妙的ggplot2包中的geom_segment()命令,绘制起讫点重心间纤细透明的白色线条。我觉得,R语言制作出的图片在黑色背景下显得特别漂亮,不过,之后我们将其导入AdobeIllustrator,Oliver将一系列透明效果应用在线条上,使得线条在深蓝的背景下熠熠夺目(我们在整本书中使用了深蓝)。



这是我们制作的一张图片,展示了伦敦昼夜的人口分布,这里只展示晚上。为了制作这幅图,我复制了制作人口线图的代码,而Oliver努力手动清除了我过度绘制的红色线条的边缘(我在ggplot2中调试不出如何自动清除线条)。然后,在Illustrator中,转换了颜色,增加了标签。



这本书中我最爱的一张图片,显示了泰特美术馆中每位艺术家作品的数量。这里只展示了一小部分,而其全景尤为壮观,因为其中心突出了一幅特纳的绘画。这张图片以树形图的形式展示,矩形框的大小表示艺术家作品数量多少。可以很简单地在R语言的treemap包中使用treemap()功能来制作。Oliver费劲地将输出的图片打碎成小片,把矩形转换为图片相框,并将其挂在“墙上”。



这张地图展示了伦敦一天中骑行者的情况。在这个例子中,R语言输出图片后,无需做太多工作,只是增加了泰晤士河、一些标签,然后优化了印刷颜色。这张地图中描绘出了几十万条线段,这也是R语言绘制海量数据能力的极佳例证。



上图是至今为止书中最火的一张图片。该图利用了2011年的人口普查数据制作了不同婚姻状况的人口分布地图,并以水流图的形式展示出了绝对数量。利用ggplot2包制作出了地图和图片。我们坚持使用输出时地图的颜色,然后手动编辑水流图的颜色。水流图是利用ggplot2包中的geom_ribbon()功能制作的。



目前为止展示的所有图片都是从数据开始的,最少也有数千行数据。最后这张图片,我们展示一个小型数据的例子—获得蓝色牌匾的100位伦敦人。手动编辑每个人的数据,每个人的名字包含3个属性:他们活着的年龄、他们创作最重要作品的年龄、他们一生中生活在伦敦的时期。多亏ggplot2包,我才能利用下面的代码输出上面看上去粗糙的图片。Oliver拿过图片,手指弹了弹,然后在Illustrator变换图片的风格、增加标签。这里最关键的是,R语言里的几行代码,节省了一天手工绘制线条的时间。

大数据文摘精彩文章:

回复金融看【金融与商业】专栏历史期刊文章

回复可视化感受技术与艺术的完美结合

回复安全 关于泄密、黑客、攻防的新鲜案例

回复算法 既涨知识又有趣的人和事

回复谷歌 看其在大数据领域的举措

回复院士 看众多院士如何讲大数据

回复隐私 看看在大数据时代还有多少隐私

回复医疗 查看医疗领域文章6篇

回复征信 大数据征信专题四篇

回复大国“大数据国家档案”之美国等12国

回复体育 大数据在网球、NBA等应用案例

回复平安 中国平安相关大数据案例、新闻

回复志愿者 了解大数据文摘及如何加入


长按指纹,即可关注“大数据文摘”


专注大数据,每日有分享

覆盖千万读者的WeMedia联盟成员之一


Copyright © 古田计算器虚拟社区@2017