可视化数据
可视化数据
Ben Fry
出版时间:2009年03月
如今绝大多数的数据都变得难以利用,仅仅因为人们无法可视化其中的数量与关系。本书使用了一种流行的、开源的由作者开发的编程环境Processing,并说明了准确地在网页上或别处表述数据的方法,实现了用户交互、动画和更多功能。
如何将30亿人的基因同猩猩或是老鼠的基因相比较?数百万网民通过什么样的途径来访问同一个网页?通过本书,可以学习使用交互显示来回答类似的复杂问题。我们不是谈论统一的图表模板。本书指导您如何在Processing的帮助下,为一个庞大的、复杂的数据集合设计整个接口,Processing是一个强大的设计工具和编程环境。许多研究人员和公司都使用Processing,它以一种清晰易懂的方式来表达具体数据。
通过这个工具和《可视化数据》,您可以学习基本的可视化原则,以及如何选择合适的显示,如何提供交互功能,为您的网站不断地带来更多的用户。
本书内容包括:
* 可视化数据的七个阶段:获取、分析、过滤、挖掘、表述、修饰和交互
* 数据问题是如何开始的,又是如何以一个清晰的答案结束的,通常还附有额外的细节
* 许多项目实例的实现
* 每种表述方式的优缺点,这些表述方式是以定制为中心的,这样它们能更好地表达它们要表示的数据集合
“通过现代数据图形大师的这本非常详细的向导书籍,您可以了解从零开始可视化数据编程的所有细节。阅读此书,你将不再依赖于别人对你数据的观点。”
——Martin Wattenberg《Map of the Market》和《Baby Name Voyaer》的作者
Ben Fry在麻省理工多媒体实验室Aesthetics + Computation Group获得了博士学位,他是卡内基·梅隆设计学院2006~2007年度Nierenberg Chair of Design的客座教授。他同Casey Reas共同开发了Processing,并在2005年荣获了Prix Ars Electronica的Gloden Nica奖项。Ben的作品还获得了Rockefeller基金会的New Media奖学金。
  1. 前言 I
  2. 第1章 可视化数据的七个阶段 1
  3. 1.1 为什么数据显示需要计划 2
  4. 1.2 一个例子 6
  5. 1.3 相互影响和联合 14
  6. 1.4 原则 15
  7. 1.5 综述 18
  8. 第2章 Processing入门 19
  9. 2.1 Processing的草图功能 20
  10. 2.2 导出和发布你的项目 23
  11. 2.3 示例和参考 24
  12. 2.4 函数 27
  13. 2.5 草图和脚本编程 28
  14. 2.6 准备好了吗? 30
  15. 第3章 映射 31
  16. 3.1 绘制一幅地图 31
  17. 3.2 地图上的定位 32
  18. 3.3 地图上的数据 34
  19. 3.4 使用你自己的数据 51
  20. 3.5 下面的步骤 53
  21. 第4章 时间序列 54
  22. 4.1 牛奶、茶和咖啡(获取和分析) 55
  23. 4.2 清理桌子(过滤和挖掘) 55
  24. 4.3 一个简单的图表(表述和修饰) 57
  25. 4.4 为当前数据集合贴上标签(修饰和交互) 59
  26. 4.5 绘制坐标轴(修饰) 62
  27. 4.6 选择一个合适的表述(表述和修饰) 73
  28. 4.7 通过鼠标滚动强调数据点(交互) 76
  29. 4.8 连接数据的方法(修饰) 77
  30. 4.9 标签面板一样的文本标签(交互) 83
  31. 4.10 数据集合之间插值(交互) 87
  32. 4.11 结束时间序列 92
  33. 第5章 连接和关连 94
  34. 5.1 改变数据源 94
  35. 5.2 问题描述 95
  36. 5.3 预处理 96
  37. 5.4 使用预处理过的数据(获取,分析,过滤,挖掘) 111
  38. 5.5 显示结果(表述) 118
  39. 5.6 回到问题本身(修饰) 121
  40. 5.7 复杂排序:将收入作为判断胜局的依据 126
  41. 5.8 转移到多个日期(交互) 127
  42. 5.9 平滑交互(修饰) 132
  43. 5.10 实施时的考虑因素(获取,分析,过滤) 133
  44. 第6章 散点地图 145
  45. 6.1 预处理 145
  46. 6.2 载入数据(获取和分析) 155
  47. 6.3 用邮政编码绘制散点图 (挖掘和表述) 157
  48. 6.4 在输入的时候突出显示 (优化和交互) 158
  49. 6.5 显示目前已选择的点(优化) 162
  50. 6.6 逐渐地将点变暗和变亮(优化) 165
  51. 6.7 放大(交互) 167
  52. 6.8 改变缩放时的点的画法(优化) 177
  53. 6.9 部署的问题(获取和优化) 178
  54. 6.10 下面的步骤 180
  55. 第7章 树、层次结构和递归 182
  56. 7.1 用递归来构建一个目录树 182
  57. 7.2 用队列来异步的加载(交互) 186
  58. 7.3 树图的简介 189
  59. 7.4 哪些文件占据了最多的空间 194
  60. 7.5 查阅文件夹的内容(交互) 199
  61. 7.6 提高树图的显示(修饰) 201
  62. 7.7 快速浏览文件(交互) 208
  63. 7.8 下面的步骤 219
  64. 第8章 网络和图 220
  65. 8.1 简单的图的演示示例 220
  66. 8.2 一个更加复杂的图 229
  67. 8.3 解决网络问题 240
  68. 8.4 高级图例 242
  69. 8.5 挖掘更多信息 262
  70. 第9章 获取数据 264
  71. 9.1 哪里能找到数据 265
  72. 9.2 从互联网上获取数据的工具 266
  73. 9.3 用Processing定位使用的文件 268
  74. 9.4 载入文本数据 270
  75. 9.5 处理文件和文件夹 276
  76. 9.6 列出一个文件夹中的文件 277
  77. 9.7 异步图像下载 281
  78. 9.8 以OpenStream()为桥联系Java 284
  79. 9.9 处理字节数组 284
  80. 9.10 高级网页技术 284
  81. 9.11 使用数据库 288
  82. 9.12 处理大量文件 295
  83. 第10章 分析数据 296
  84. 10.1 努力程度 296
  85. 10.2 收集线索的工具 298
  86. 10.3 文本是最好的 299
  87. 10.4 文本标注语言 303
  88. 10.5 正则表达式(regexps) 316
  89. 10.6 语法和BNF范式 316
  90. 10.7 压缩的数据 317
  91. 10.8 向量和几何 320
  92. 10.9 二进制数据格式 325
  93. 10.10 高级侦查工作 328
  94. 第11章 结合Processing和Java 331
  95. 11.1 编程模式 331
  96. 11.2 附加的源文件(Tabs) 334
  97. 11.3 预处理程序 335
  98. 11.4 API结构 336
  99. 11.5 将PApplet嵌入到Java应用程序中 338
  100. 11.6 在Processing的sketch程序中使用Java代码 342
  101. 11.7 使用库 343
  102. 11.8 用processing.core的源代码编译 343
  103. 参考书目 345
  104. 索引 349
书名:可视化数据
作者:Ben Fry
出版时间:2009年03月
书号:978-7-121-08279-5
原版书出版商:O'Reilly Media
Ben Fry
 
Ben Fry在麻省理工多媒体实验室Aesthetics + Computation Group获得了博士学位。他是卡内基?梅隆设计学院2006~2007年度Nierenberg Chair of Design的客座教授。他同Casey Reas共同开发了Processing,在2005年获得了Prix Ars Electronica的Gloden Nica奖项。Ben的作品获得了Rockefeller 基金会的New Media奖学金,并且展示在现代艺术博物馆,Ars Electronica,2002年的Whitney Biennial,以及2003年的Cooper Hewitt Design Triennial中。
 
 
《可视化数据》封面上的动物是一个北鹰鸮(Surnia ulula)。它们被称为北鹰鸮因为它们主要是在北美和欧亚大陆的森林发现的,并且其行为与鹰相似;它们飞行、悬停并快速地在开放的地区寻找猎物。同时,比起老鹰,它们更像猫头鹰,它们主要是利用它们的视线,而不是通过听力来狩猎。
它们根据地理位置不同广泛分布,从欧亚大陆到挪威、瑞典和芬兰都可以找到它们;向东从西伯利亚到堪察加半岛;在中国北方和亚洲中部向南远至天山。在北美洲,从阿拉斯加东部至拉布拉多,加拿大都可以找到它们。它们生活在食物充足的地方,当食物匮乏时,它们(主要是年轻的北鹰鸮)会飞往南方。
中等大小的北鹰鸮体长通常是在36~41厘米之间,翼展在22~25厘米之间。典型的,雄北鹰鸮体重大约在273~326克,雌北鹰鸮体重更重些,在306~392克。外观上看雄雌差别很小,主要从它们的叫声来区别。典型的雄北鹰鸮的叫声是一种快速、悠扬、猫喘鸣的颤音;虽然雌北鹰鸮的叫声和雄北鹰鸮的相似,但它们具有较高的音调,并且不是那么清晰。
它们的头呈圆形,脸部为白色,两侧边缘都有粗黑色条纹。上半部身体通常是暗灰色和黑色,还有布满点的前额和鹰冠。尾巴很长并带有白色条纹。它们的喙呈黄色,并有着淡黄色的眼睛。(年轻的北鹰鸮有金黄色的眼睛,随着年龄的增加颜色会变淡。)
北鹰鸮与其他大多数猫头鹰不同,它们通常是白天活动,这意味着狩猎是在白天进行。它们捕食小型哺乳动物,如旅鼠、田鼠和兔子。其他猎物包括鸟类、青蛙、甚至鱼类。通常情况下,它们坐在一个栖木上一个显眼的位置,寻找可能的攻击目标。一旦发现猎物,它们迅速向下飞行和攻击。当食物丰富,它们会多捕捞一些并把食物藏起来供以后食用。
它们的产卵期从4月开始,并持续到5月上旬。雄北鹰鸮寻找潜在筑巢地点,雌北鹰鸮选择地点。(整个交配季节它们都是一夫一妻制的。)可能的地点包括空的啄木鸟洞,松鼠、乌鸦和老鹰弃用的筑巢,以及腐烂的树木。它们每隔一到两天连续产下3~13枚卵,并用大约25~30天时间孵卵。雄北鹰鸮在雌北鹰鸮孵卵期间会给后者喂食。小北鹰鸮约25天可以离开鸟巢,六个星期以后它们就可以飞行了。
更多的研究是必要的,以便更好地了解北鹰鸮——这是一个基本没有研究的北美地区的鸟类物种——以及它们的栖息地需要和迁移模式。居住环境的破坏对它们是一个重大威胁。清除枯死的树木和树桩会剥夺这些北鹰鸮生育的产卵区。其他问题包括偷猎(即使它们受Migratory Bird Treaty Act保护,规定伤害或杀死某些候鸟物种是非法的),与电力线路和车辆的碰撞。
封面图片来自Johnson’s Natural History。