0

在一次调查中,我问了两个问题:

  1. 您的主要交通工具是什么?(只有 1 个可能答案和强制性答案)
  2. 你的二级交通工具是什么?(0 或多个答案,每个辅助传输包含 0 表示是,1 表示否)

以下是一些假数据:http ://pastebin.com/raw.php?i=pp1EHP7r

PersonNumber,Main Transport,Bus(secondary transport),Metro(secondary transport),Tram (secondary transport)
1,Bus,1,0,1
2,Bus,1,0,1
3,Bus,1,1,1
4,Train,1,0,0
5,Train,0,1,0
6,Train,0,1,0
7,Bus,0,0,0
8,Bus,0,1,0
9,Metro,0,1,0

我的目标是创建两个部分与主要运输的左侧部分。带有二级运输的右侧部分。如果右列有值 1,则左传输链接右传输。例如对于第一个观察:公共汽车将连接到公共汽车(二级交通)和电车(二级交通),但不连接到地铁(二级交通)

我真的不知道该怎么做,因为只有当值包含 1 时,一个主要传输才需要连接到许多其他列...

我正在寻找那种图形流http://app.raw.densitydesign.org/#/

4

2 回答 2

2

如果您想使用 Raw ( http://app.raw.densitydesign.org/#/ ) 对其进行可视化,您必须创建一个像这样的数据集(从您的数据开始创建):

PersonNumber    MainTransport   SecondaryTransport
1   Bus Bus
1   Bus Tram
2   Bus Bus
2   Bus Tram
3   Bus Bus
3   Bus Tram
3   Bus Metro
4   Train   Bus
5   Train   Metro
6   Train   Metro
8   Bus Metro
9   Metro   Metro

每条线代表主要运输和次要运输之间的连接。如果一个人使用多个次要交通工具,您必须为每对主要/次要交通工具创建一条线路(参见第 3 个人)。请注意,由于每条线具有相同的视觉权重,通量的总高度表示每个变量出现的次数。

在 Raw 中,将“MainTransport”和“SecondaryTransport”拖动为“Dimensions”。

于 2013-10-11T13:34:03.733 回答
0

如果要为图形添加颜色,则需要通过交换颜色变量来修改 alluvial.js:

颜色 = d3.scale.category20();

然后它就像一个魅力!

于 2014-02-19T18:27:59.507 回答