javascript - nvd3 + 线条加条形图 + 对齐轴

标签 javascript d3.js nvd3.js

不确定我是否以正确的方式处理这个问题,但这里是......

所以我有这个例子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)的厚度相同?

最佳答案

希望这有帮助:

  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()

关于javascript - nvd3 + 线条加条形图 + 对齐轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22464727/

相关文章:

javascript - NVD3 为饼图的单个切片创建点击事件

d3.js - NVD3 : How to get values from tooltip or legend instead of labels?

javascript - 在 PHP 函数上使用 Javascript 数组,无论是在同一个文件上还是与其他函数一起在另一个文件上

javascript - 错误 : <path> attribute d: Expected number, "MNaN,NaNLNaN,NaN"

Javascript nvD3 图表不等待 AJAX 调用完成

d3.js - 当我的组大小不同时制作分组条形图?

Typescript - 从接口(interface)实现匿名对象

javascript - 路由器中的 Hapijs session

javascript - jQuery 循环 - setTimeout、addClass、removeClass

javascript - 什么是javascript的变量 'name'?