0

我想强制我的气泡图的轴从 0 开始。在我要设置的任何其他图表类型中

yAxis: {
   min:0
}

但这可能会导致 y 值接近零的气泡被剪裁。

到目前为止,我能想到的只是添加一个不可见的虚拟系列来强制轴从 0 开始。

有关我的问题和解决方法,请参阅http://jsfiddle.net/kzoon/jd3c9/

有没有人更好地解决这个问题?

4

2 回答 2

0

使用刻度定位器怎么样?它允许您以编程方式设置刻度位置。查看文档:http ://api.highcharts.com/highcharts#yAxis.tickPositioner

示例函数可以这样工作:

  1. 查找轴的最小值和最大值
  2. 如果 min 大于 0,则使用 0 作为 min:
  3. 除非我们达到最大值,否则每“20”添加一次刻度

在这里你可以找到代码:

yAxis: {
    tickPositioner: function () {
        var positions = [],
            min = Math.floor(this.min / 10) * 10,
            max = Math.ceil(this.max / 10) * 10,
            step = 20,
            tick;

        if (min > 0)
            min = 0;

        tick = min;

        while (tick < max + step) {
            positions.push(tick);
            tick += step;
        }

        return positions;
    }
},

并在 jsfiddle 上工作演示:http: //jsfiddle.net/2ABFW/

于 2013-04-17T12:28:26.800 回答
0

您可以使用startWithTick:http: //jsfiddle.net/jd3c9/8/

    yAxis: {
        startWithTick: true
    }

现在您的 y 轴将显示 0 下的下一个刻度(在本例中为 -20),并且不会剪切任何气泡。

于 2013-04-12T09:24:28.240 回答