如何为数字属性设置相同的轴范围,为序数组设置不同的轴范围

时间:2019-11-05 13:30:49

标签: javascript d3.js

我已经可视化了d3中的平行坐标,并且第一个轴代表名称,所以它是一个序数值,而其他轴代表数字。就像这个示例http://bl.ocks.org/syntagmatic/4020926

但是我想拥有数字属性而不是.domain(dimensions.map(function(d) { return d.name; })),我希望每个组domain( [0,8] )具有相同的轴范围,但是我不能这样做,因为这样我就失去了第一个序数轴。关于如何将两者混合在一起的任何想法吗?

编辑:

d3.csv("cars.small.csv", function(data) {
  dimensions.forEach(function(dimension) {
    dimension.scale.domain(dimension.type === "number"
        ? d3.extent(data, function(d) { return +d[dimension.name]; })
        : data.map(function(d) { return d[dimension.name]; });
  });

在这里,我必须使所有其他轴的轴范围都相同。

1 个答案:

答案 0 :(得分:1)

更改为此项即可:

d3.csv("cars.small.csv", function(data) {
  dimensions.forEach(function(dimension) {
    dimension.scale.domain(dimension.type === "number"
        ? ( [0,8] )
        : data.map(function(d) { return d[dimension.name]; });
  });