晋升R语言的数据可视化结果的五个典型
当我开讲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语言里的几行代码,节减了一天手工绘制线条的时间。