【问题标题】:Alluvial diagram with R (or related)R(或相关)冲积图
【发布时间】:2013-10-10 12:46:11
【问题描述】:

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

  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/#/

【问题讨论】:

标签: r conditional diagram flow dummy-data


【解决方案1】:

如果您想使用 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”。

【讨论】:

  • 我在想这个,但是当你说“请注意,由于每条线具有相同的视觉重量,通量的总高度并不代表每个变量的数量事件。”这是否意味着我将所有次要运输的比例正确但主要运输的比例错误?实际上,在您的示例中,就像第 3 个人使用 2 次公共汽车作为主要交通工具一样。如何避免这种情况?
  • 对不起,有一个拼写错误的词,但你明白我的意思。每条线计为“1”,如果一个人使用三种不同的次要交通工具,在左侧将计为三个。 Raw 允许您添加链接值,因此您可以设置索引来避免此问题。一个例子可以是将链接值除以二级运输的数量。而且这种方案也有弊端,这类问题确实很难找到令人满意的视觉解决方案。
  • 我成功了,但我有一个问题:是否可以为冲积图添加一些颜色?
  • 好吧,我刚刚下载了 svg 并手动更改了它的颜色。
【解决方案2】:

如果你想给图表添加颜色,你需要通过交换颜色变量来修改 alluvial.js:

颜色 = d3.scale.category20();

然后它就像一个魅力!

罗伯

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-29
    • 2017-07-21
    • 1970-01-01
    • 2012-11-04
    • 2022-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多