在HighCharts气泡图中在轴上强制执行0

时间:2013-04-12 07:12:37

标签: highcharts bubble-chart

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

yAxis: {
   min:0
}

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

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

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

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

2 个答案:

答案 0 :(得分:0)

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

    yAxis: {
        startWithTick: true
    }

现在你的y轴将显示0下的下一个刻度(在这种情况下为-20),并且不会剪切气泡。

答案 1 :(得分:0)

如何使用刻度定位器?它允许您以编程方式设置刻度位置。查看文档:{​​{3}}

示例函数可以这样工作:

  1. 查找轴最小值和最大值
  2. 如果min大于0,则使用0作为min:
  3. 除非我们达到最大值,否则每隔“20”添加一次刻度
  4. 您可以在这里找到代码:

    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://api.highcharts.com/highcharts#yAxis.tickPositioner