正文
想要掌握ggplot2的“链接”思想的要领需要花费一些时间,它可以通过不同程度的堆叠不同选项来定义图表的外观。但是现在回顾起来,就可以理解得更深刻,并且它为我们提供了更多的可能。你需要多参考stackOverflow (或者浏览ggplot的在线文档【http://docs.ggplot2.org/current/index.html】)来找到实现某些具体功能的例子。另一方面,你也可以将生成的图像保存为PDF并上传到Illustrator来做一些最后的调整。然而,我也是在3年后一次偶然的机会之后才开始这么做的。
上下两个图中是我第一年使用R做的图表。我认为这些图表都值得保存在我的个人电脑上,哈哈。当然我也做了上百张巨简单也巨丑的图,这些是不会保存的。条形图、折线、散布图等,这些都可以帮助我们更好的理解数据。
2013年二月,我去旧金山湾区参加了有关于数据科学的Strata 会议【https://conferences.oreilly.com/strata/strata2013】。在那里,我加入了一个”d3入门” 的讨论组。之前从没有听说过d3,我立刻就被吸引了。回家之后,我花了接下来一个星期的时间试图建立我自己的可以在不同变量之间切换并可根据鼠标点击进行变换的交互式散布图。是的,我花了整整一周的休息时间从零开始去建立这个图。因为我完全不懂JavaScript,对HTML和CSS的掌握也有限。同时,掌握d3的逻辑链和输入+更新+退出的思维方式也是另一大难点(我认为我至少花了一年的时间才完全理解)。这一块学起来很艰难,尽管很长时间里我只能取得一小点进步,但是我还是为d3可以创造的无限可能而痴迷不已。
经过那一次的严酷考验,我已经学会了如何从已有的例子开始尝试,不断调整使之适用于自己的数据(通常可以在bl.ocks.org上找到,非常棒的网站,特别是在浏览blockbuilder.org的时候,你可以找到很多代码块!)。有时候,仅仅是把自己的数据显示出来就十分复杂。我有时候会被很简单的问题困住,因为不知道到底哪里出了错。最后我意识到,在JavaScript中对象的嵌套数组在复制到新的变量中仍保持可连接状态……抓狂。
接下来一年我没有频繁使用d3。工作中为了快速完成任务有太多需要学习的东西。之后发现R 曲线图比较快。
我们商业智能部门使用比较多的另一个工具是QlikView,这是一个可以创建交互式仪表板的程序,它也可以下载并安装其他基于JavaScript的可视化扩展程序。2013年春季,QlikView组织了一次关于制作最优扩展程序的竞赛。我和另外两个同事觉得很有意思就参加了。我建议使用d3, 从d3中获取图表格式并在QlikView环境下使用。在这里我省略细节,但是结果表明使d3网络图表在QlikView选项下工作是十分困难的(我做了一个拖放球然而最后没有完成。但是我确实在网上找到了一个可以实现这个网络的demo【http://us-d.demo.qlik.com/QvAJAXZfc/opendoc.htm?document=demo/Partner%20App%20Contest/Network%20Chart.qvw】)。很遗憾,我们最后以3票落差屈居第二,但是这也是的我在d3相关知识方面又了巨大飞跃。
这样持续学习一直到2014年 11月。期间,在大工程当中,因为有足够多的时间去创建(或者调整一些其他我喜欢的东西),我也做了几个基于d3的可视作品。比如适用于我经常使用的自组织映射算法的六角形热图,以及建立热门购买物品之间关系的可视化网络图和关联分析的结果(这个可视化作品主要基于 Raphaël Velt 【https://marketplace.gephi.org/plugin/gexf-js-web-viewer/】的工作) 。但是我仍然认为自己是一个数据科学家。问题是,我不确定我是否像之前那样喜欢这个工作。为了将预测模型的准确度提高1%,我觉得挫败感多于成就感。
但是在2014年11月,我又一次参加了Strata会议【https://conferences.oreilly.com/strata/strataeu2014】,在巴塞罗那。我仍然记得当时我内心有些茫然,不确定接下来一年自己的研究方向。之后,我听了Mike Freeman的演讲【https://conferences.oreilly.com/strata/strataeu2014/public/schedule/detail/37457】。他演讲的题目是“数据可视化专家”。我突然获得了灵感:“这也算独立的工作吗?我们可以成为数据可视化专家?”那一刻,我知道我又重拾激情。这个超棒的演讲通过故事来传递复杂数据与观点,我相信对你同样有很大的帮助:)
在接下来的一个月我把自己所有的休息时间,晚上,周末,都花在了如何转化我在Deloitte做的复杂图表上,将电话品牌变换的辐射图表【http://bl.ocks.org/nbremer/raw/7658623/】转化成基于故事的可视化图像【http://nbremer.github.io/Chord-Diagram-Storytelling/】。下面我慢慢解释如何从图表中抽象出观点。我把它寄给Mike Freeman,询问了他的意见。他人超级好,对此也十分感兴趣,并发了一份推送,这条推送甚至引起了d3的创始人Mike Bostock【https://twitter.com/mbostock 】的关注(我还保存了他转发我的可视化作品的截图,那时我在我的房间里蹦了起来)。