【问题标题】:NVD3 (D3 JS) how to remove y2 axisNVD3(D3 JS)如何去掉y2轴
【发布时间】:2013-12-03 06:01:59
【问题描述】:

我正在尝试使用以下示例,该示例是折线图和条形图的组合。

NVD3 Line & Bar Chart combination

我的问题是我希望折线图和条形图都使用来自 y1 轴的相同数字,但我不知道如何摆脱 y2 轴并执行此操作。

如果有人能指出我正确的方向,那将是一个很大的帮助。

提前致谢。

编辑:

我遇到的问题的 JSFiddle。我只是使用 NVD3 下载的示例,并在 return chart; 行之前添加了 Lars 的代码。

JSFiddle

【问题讨论】:

    标签: javascript graph charts d3.js nvd3.js


    【解决方案1】:

    没有禁用第二个 y 轴的选项。您可以做的是将其设置为与 y1 轴具有相同的比例,然后在创建图形后将其删除,即

    d3.select('.nv-y2.nv-axis').remove();
    

    这会在原来的轴上留下一些空白,但至少会给人一种只有一个 y 轴的印象。

    【讨论】:

    • 谢谢,这至少有助于删除第二个轴。是否可以更改线路以使用与 Y1 相同的比例?
    • 我认为你应该能够做类似chart.y2Axis.scale(chart.y1Axis.scale());的事情。
    • chart.y2Axis.scale().domain(chart.y1Axis.scale().domain()); 在最后(就在返回图表之前)对我有用。
    • 这很奇怪,我已经尝试过这样做,但它没有再次做出任何改变。我还在原始示例下载中尝试了它,以防我做了一些事情,还在他们在nvd3.org/livecode/#codemirrorNav 的实时示例中尝试了它,但它没有改变任何东西
    • 实际上,当我更改他们的实时示例时,它打破了界限,它只是位于图表的底部
    【解决方案2】:

    很像 Lars 的回答,这在原来的轴上留下了一个空隙,但我用 CSS 隐藏了这个。

    .y2-axis {display: none}
    

    【讨论】:

      猜你喜欢
      • 2012-07-30
      • 1970-01-01
      • 2012-07-24
      • 2012-12-13
      • 2013-12-04
      • 1970-01-01
      • 2014-06-29
      • 1970-01-01
      • 2017-12-04
      相关资源
      最近更新 更多