如何在平行坐标图中使用轴标签的不同方向

时间:2016-08-01 17:21:27

标签: javascript d3.js charts

我正在尝试一个"并行坐标"图表,我几乎有我想要的东西,但我在为轴标签定义不同方向方面感到茫然。 除了第一个标签外,我需要将标签全部朝向右侧。 我可能需要在我的"维度"中添加一个轴变量,但我不知道该怎么做。

var dimensions = [
  {
    name: "name",
    scale: d3.scale.ordinal().rangePoints([0, height]),
    type: String
  },

如果有人可以查看代码,那就太好了。 Plunker在这里: https://plnkr.co/edit/BgKBgANoMDV3123iQ9sP?p=preview

谢谢!

1 个答案:

答案 0 :(得分:0)

这里的解决方案是创建2个不同的y轴:

var yAxis = d3.svg.axis()
    .orient("right");

var yAxis2 = d3.svg.axis()
    .orient("left");

然后,只为第一个轴调用“左”:

  dimension.append("g")
      .attr("class", "axis")
      .each(function(d,i) { 
          if(i==0){
              d3.select(this).call(yAxis2.scale(d.scale)); 
          } else {
              d3.select(this).call(yAxis.scale(d.scale));
          }
      })

这是你的傻瓜:https://plnkr.co/edit/vzNHr6mvAVeX7J4PAnf6?p=preview