在Highcharts中为柱形图设置最小默认范围

时间:2015-02-18 11:43:12

标签: javascript charts highcharts

我正在使用Highcharts作为具有正负百分比值的柱形图。

我总是希望图表的y轴至少显示-50%和+ 30%之间的范围,无论值是多少。但是,如果值大于30%或小于-50%,则y轴的范围应相应地适应。如果我使用yAxis: {min: -50, max: 30},当我有更大的值时,范围不会变大。

有办法做到这一点吗?或者,一旦Highcharts计算了范围,我是否必须以编程方式更新它?

2 个答案:

答案 0 :(得分:1)

目前你必须自己动手。 它可以通过运行一个函数来检查最小值/最大值并在需要时重置。

像这样的东西(快速脏的例子):

function setMinAxisExtremes(chart, axis, min, max) {
    var ax = axis == 'y' ? chart.yAxis[0] : chart.xAxis[0];    
    var ext = ax.getExtremes();
    min = ext.min > min ? min : ext.min;    
    max = ext.max < max ? max : ext.max;
    ax.setExtremes(min,max);    
}

示例:

(并且如上所述,有一个功能请求让Highcharts使用内置属性执行此操作,这非常需要投票,在此处:http://highcharts.uservoice.com/forums/55896-general/suggestions/1848953-extend-the-axis-max-property-to-act-like-css-mi

答案 1 :(得分:0)

您可以准备自己的函数来定位刻度,它是tickPositioner