【问题标题】:Y axis of chart doesn't update correctly in Billboard.jsBillboard.js 中图表的 Y 轴未正确更新
【发布时间】:2018-02-09 13:31:30
【问题描述】:

有一个使用billboard.js 生成的图表,我想更新 Y 轴的最小值/最大值。

为此,我用html写了:

<span>
    Max:</br>
    <input ng-change="$ctrl.updateY()" ng-model="$ctrl.maxValue"></br>
    Min:</br>
    <input ng-change="$ctrl.updateY()" ng-model="$ctrl.minValue"></br>
</span>

在 JS 中:

updateY() {
    this.lineView.chart.axis.max({y: this.maxValue});
    this.lineView.chart.axis.min({y: this.minValue});
}

min 值可以正常工作,但max 则不行。

例如,如果我将最大值设置为100,则在 Y 轴上为1000

对于1000,它是100000

对于10000,它是1000000。我猜它增加了一个额外的零,但没有找出如何以及在哪里。对于min,一切正常。这是一个错误吗?

有什么想法吗?

【问题讨论】:

  • 您需要提供一个可重现的示例。我厌倦了复制它here,但无法复制。
  • 您能提供完整的一代选项代码吗?
  • @JaeSungPark 我觉得把所有代码都放在这里太复杂了,我通过使用range()而不是min()max()解决了这个问题

标签: javascript d3.js billboard.js


【解决方案1】:

如果使用range() insted of min()max(),这个问题就解决了。出于某种原因,它无法使用后面的方法正确更新。

updateY() {
    const maxNumber = Number(this.maxValue);
    const minNumber = Number(this.minValue);
    this.lineView.chart.axis.range({max: {y: maxNumber}, min: {y: minNumber}});
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多