【问题标题】:nvd3 + lineplusbarchart + allign axisesnvd3 + lineplusbarchart + 对齐轴
【发布时间】:2014-03-17 20:31:25
【问题描述】:

不确定我是否以正确的方式进行,但这里是......

所以我有这个例子see fiddle here 使用 lineplusbarchart,我正在从我在这里发布的这个问题中构建它: SO question

我已经编辑了 lineplusbarchart 以在 xaxis 上显示标签:

    chart.xAxis.tickFormat(function(d) {
  var dx = testdata[0].values[d] && testdata[0].values[d].x || 0;
          return dx;
      })
      .showMaxMin(false);

但我仍然有几个问题要得到我想要的......

1 ->
如何使 y1 和 y2 轴对齐? (理想情况下,如果只有一个轴就好了)
2 ->
如何删除 y2 轴? (soution here 但这不起作用,因为我希望 2 轴对齐)
3 ->
如何使 label1 和 label5 的条形图部分的厚度与其他(lable2、3 和 4)的厚度相同?

【问题讨论】:

    标签: javascript d3.js nvd3.js


    【解决方案1】:

    希望这会有所帮助:

    1. 您可以使用chart.lines.forceY() 设置范围。让它 使用动态值我建议找到附加数据的整体最大值 并将其用于条形图和线条。例如:

      var maxValue = d3.max(d3.entries(testdata), function(d) {
              return d3.max(d3.entries(d.value.values), function(e) {
                  return e.value.y;
              });
          }),
          minValue = 0;
      
      chart.bars.forceY([minValue, maxValue]);
      chart.lines.forceY([minValue, maxValue]);
      
    2. 您发布的解决方案正是我会做的。
    3. 删除padData()

    【讨论】:

    • tks 不会使用此模型的最大/最小值,但很高兴知道。删除 padData() 看起来更好。 see here。仍有改进的空间-> 1 图例(删除 rightAxis/leftAxis) 2 使折线图一直到 yaxis
    猜你喜欢
    • 2014-01-27
    • 1970-01-01
    • 1970-01-01
    • 2014-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-07
    • 1970-01-01
    相关资源
    最近更新 更多