我们在上一次讲了如何画最基本的柱状图。今天我们来看看这段Processing程序是不是有需要改进的地方。因为我们的目的是要能自动的根据所给的数据生成柱状图,所以让我们来试试另一组数据,替换下面这行,其[......]

继续阅读

我们昨天已经画出了第一个柱状图。今天来看看怎么画的更好。一个标准的统计图表都应该有x轴和y轴标注的。首先我们要做在柱状图的四周给坐标轴空出位置。底部和右边各留出20,这样柱状图占的空间就变成380×1[......]

继续阅读

前言

大家对Processing的热情让我们备受鼓舞,但也深感鸭梨。之前翻译的两篇,我们自己也觉的不胜满意。经过一些讨论和思考,我们打算自己动手写教程。计划是这样的:

  1. 想要围绕一个具体的[......]

继续阅读

原帖地址:Day 2 – Connecting Points, Part 2 via Vormplus
我们今天来看一个稍微复杂一点的例子。依旧是连接点和线。但是这次我们要在画面中随机放置点,并且只[......]

继续阅读

原帖地址:Day 1 – Connecting Points, Part 1 via Vormplus
第一天,我们先从简单的点和线开始,熟悉一下如何通过写程序来计算点线的位置,并使用循环嵌套来绘制[......]

继续阅读

Processing是目前最流行的图形和人机互动开发平台之一。和传统的开发平台,比如,OpenGL相比,Processing从绘制的角度出发而设计的编程模式更适合可视化和互动设计。同时,它隐藏了很多底[......]

继续阅读

时 变数据是我们都很熟悉的一种数据形式,甚至可以说,我们日常见到的大部分都是时变数据,比如说一切价格的变动(衣食住行,股票,等等)。时变数据可以看成 是由一组按时间记录的数据。在每个时间点的记[......]

继续阅读

讲 完了前传,让我们来看看今年的论文对GMap有什么扩展呢?GMap只能显示静态网络数据。但是现实中很多网络数据在不断的变化,而怎么用地图来表示这样 的变化,怎么来显示不同国家疆域的扩充或缩小呢?一种简单的方法是对每个时间采样点的网络数据,用GMap的方法重新构造地图。这样做明显缺点是很耗时, 更重要的是构造的地图不一定会很相似,不同的节点可能在不同的地方出现,使用户很难观察并且跟踪节点和集合的变化。

论 文提出了一种解决这个问题的方法,举的例子是动态的显示某个音乐网站上歌星的分类和关注程度的变化。从这个音乐网站,我们可以得到一张大的表格,行是各个 歌星,列是各个听众,表格中的每个单元是某个用户对某个歌星的收听次数。从这张表格,首先我们可以比较两两歌星的相似程度(如果两个歌星的听众群类似,那 就是这两个歌星就比较相似;简单吧,都不需要考虑歌星的风格等等)。这样相似的歌星连条线,我们就可以得到一张网络图。从这张表格,我们还可以知道在各个 时期,哪个歌星的听众多。我们需要把这些受关注的歌星显示在地图上,而且需要做到动态的连续的变化。

image courtesy of Daisuke Mashima, et al.

[......]

继续阅读

那这样的地图是怎么生成的?GMap的主要步骤是: 1)先将网络图画在二维上;2)用聚类分析的方法把网络图中的节点归类;3)把各个类别中的点构造Voronoi Diagram,而Voronoi Diagram就是地图中的各个区域;4)给地图上色。

为 什么要有第一步呢?因为实际中的很多网络数据,比社交网络要复杂的多,并且基本上都是高维数据,也就是说每个节点包含多个数据。所以在把这些数据画在二维 上之前,需要对这些数据进行降维。具体的降维方法有PCA,  multidimensional scaling, LLE, isomap等等。当然也有我们多次提到过的“弹簧”模型(force-directed algorithm)。

对于第二步,我们前面的帖子介绍过了点聚类分析,这里就不重点展开了。

image courtesy of Emden Gansner, et al.

[......]

继续阅读

在昔年某一个数据纷乱复杂的时代里,江湖中忽然有一种地图出现了,它并不对应真正的国家或地区,也不属于任何门派或帮会……

image courtesy of Emden Gansner, et al.

[......]

继续阅读