1

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

我现在遇到的主要问题是我不明白如何正确设置两个域(横坐标和纵坐标)。我基于 Bostock 的 Parellel Coordinates 示例。

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

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

有道理还是?

4

3 回答 3

0

尝试多折线图。这可能适合您的需要。我不确定你在尝试什么。

于 2016-06-04T18:08:41.510 回答
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/ 。

于 2018-11-14T21:20:32.700 回答
0

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

于 2016-08-06T04:01:58.740 回答