与d3.js的平行坐标



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

我现在的主要问题是,我不明白如何正确设置两个域(横坐标和纵坐标)。我以Bostock的Parelle坐标为例。

对于横坐标,我想的是这样的:

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

这有道理还是?

尝试一个多折线图。那可能适合你的需要。我不确定你在做什么。

只需绘制一个折线图,通过将记号从0到高(在var xAxis代码中包括.tickSize(0-height))来生成垂直线。您必须选择正确数量的记号,如ticks()中所示,这样您就可以将线放在需要的位置。

查看Parcoords,一个基于d3的平行坐标库。有关与d3 v5的兼容性,请参阅https://github.com/BigFatDog/parcoords-es它基于原始的Parcoords库(https://github.com/syntagmatic/parallel-coordinates)其依赖于d3的过时版本。

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

最新更新