与d3.js

时间:2016-06-04 17:37:11

标签: javascript d3.js parallel-coordinates

我需要用d3.js表示一个平行坐标。首先,我不知道我认为可能实现的目标(如果平行坐标是正确的图表)。 我将解释我的想法:我从数据库中获取数据,然后用JSON公开它们,然后将它们存储在一个对象数组中(使用JavaScript)。 这是数据http://pastebin.com/DZcMqDMc的示例。 我想沿着横坐标轴表示年份(尽管有几年重复自己,正如您从数据示例中看到的那样),而沿纵坐标轴的那些年份的值(值以百分比表示,范围从1到100)。 我想根据" value1"代表两行。和" value2" JSON文件中的属性。 可能吗?平行坐标是正确的图表吗?

我现在面临的主要问题是我不明白如何设置两个域(横坐标和纵坐标)。 我的基础是Bostock的Parellel坐标示例。

对于横坐标,我在想这样的事情:

x.domain(
    d3.extent(test, 
        function(d) {
            return d.years;
        }
    )
);

有道理还是?

3 个答案:

答案 0 :(得分:0)

尝试 multi line chart。这可能符合您的需求。 我不确定你在尝试什么。

答案 1 :(得分:0)

只需做一个折线图,并通过格式化从0到高度的刻度来生成垂直线(在var xAxis代码中包括.tickSize(0-height))。您将必须选择正确数量的刻度,如ticks(),因此您只需获得所需的行。

答案 2 :(得分:0)

签出Parcoords,这是一个基于d3的平行坐标库。有关与d3 v5的兼容性,请参见https://github.com/BigFatDog/parcoords-es,该文件基于原始的Parcoords库(https://github.com/syntagmatic/parallel-coordinates),该库依赖于d3的过时版本。

有关示例和示例代码,请查看以下链接:http://syntagmatic.github.io/parallel-coordinates/