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

Set a minimal default range for a column chart in Highcharts

本文关键字:默认 范围 设置 柱形图 Highcharts      更新时间:2023-12-26

我将Highcharts用于具有正和负百分比值的柱状图。

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

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

目前您必须自己完成。它可以通过运行一个功能来检查最小值/最大值,并在需要时重置来实现。

类似这样的东西(快速肮脏的例子):

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);    
}

示例:

  • http://jsfiddle.net/jlbriggs/szub0o3g/

(如上所述,有一个功能请求要求Highcharts使用一处急需投票的内置房产来完成这项工作,请点击此处:http://highcharts.uservoice.com/forums/55896-general/suggestions/1848953-extend-the-axis-max-property-to-act-like-css-mi)

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