将元数据绑定到D3平行坐标

时间:2017-05-30 13:18:43

标签: json csv d3.js data-binding parallel-coordinates

我试图将一些元数据绑定到parallel coordinates D3 implementation中的维度。

目前,唯一绑定到parcoords的数据来自带有标题和折线信息的简单.CSV。例如。 mydata.csv

Header1     Header2     Header3     ...    Header_n
1.2         100         1997               ... 
1.8         120         1993
1.5         140         1991

现在我还想通过将它绑定到每个来使用存储在JSON对象中的一些元数据(例如,描述轴内容,数据单元等的短句)。现有维度。例如。 metadata

metadata = [
  {
    "sentence": "header1 represents foo",
    "unit": "[m]",
    "header": "header1",
  },
  {
    "sentence": "header2 represents bar",
    "unit": "[s]",
    "header": "header2",
  }
]

到目前为止,我已经提出了以下解决方法,但它有(至少)两个不足之处:

// Add metadata to visible dimensions
myElementd3 = d3.selectAll(".dimension");
myElementd3[0].forEach(function(d,i) {
      d["sentence"] = metadata[i]["sentence"];
      d["unit"] = metadata[i]["unit"];
});
  • 元数据未正确匹配轴,因为我不确定如何将绑定的csv数据与元数据JSON对象中的元素进行匹配。请注意,JSON中的header与CSV中的标题相同,因此我认为SQL类型的联接可能是可能的,但我不确定如何。
  • 我只能将元数据绑定到可见轴(因为我的csv包含超过20个维度,我使用.dimensions(header_disp)仅显示轴的样本),因此每次显示的轴更改时都应该重复

总结一下,我有以下两个问题:

  1. 如何将正确的元数据与其对应的维度相匹配(例如,使用类似于SQL连接的内容?)?
  2. 如何选择并将其应用于所有维度,甚至是那些未显示的维度?
  3. 感谢您提供任何帮助!

0 个答案:

没有答案