强制Highcharts使用我的最小值和最大值

时间:2018-04-02 17:28:50

标签: javascript highcharts

对highcharts感到非常沮丧。我有2轴的图表。我希望将零对齐图表才有意义。 Highcharts开箱即用没有这个功能,所以我用自己的逻辑来处理这个问题,它为两个轴计算合适的最小值和最大值。

我使用这些计算值来设置config.yAxis.minconfig.yAxis.max。不幸的是,highcharts试图变得聪明并重新计算新的最小值和最大值。当我调整浏览器窗口的大小时尤其如此。

我到处寻找,无法找到强制设置最小值和最大值的方法。 Highcharts伙计们,有没有办法做到这一点?如果没有这个,双轴图表将变得毫无用处。

这是一个JSFiddle:jsfiddle.net/ashokraju/5c676o1j/8

3 个答案:

答案 0 :(得分:1)

如果您使用yAxis.tickPositions API,可以这样做:

"yAxis": [{
    "id": "quantity",
    "labels": {},
    "title": {
        "text": "Paying Customers",
        "margin": 25
    },
    "max": 783,
    "min": -401,
    "opposite": false,
    "gridLineColor": "#F7F6FC",
    tickPositions: [-1000, -500, 0, 500, 1000, 1500]
}, {
    "id": "ratio",
    "labels": {
        "format": "{value}%"
    },
    "title": {
        "text": null
    },
    "max": 13450,
    "min": -6725,
    "opposite": true,
    "gridLineColor": "transparent",
    tickPositions: [-10000, -5000, 0, 5000, 10000, 15000]
}]

Fiddle

修改: 您正在计算最小值和最大值,因此您可能还需要计算滴答。

答案 1 :(得分:1)

试试这个:

"max":783,
"min":-401,
"startOnTick": false,
"endOnTick": false,

https://api.highcharts.com/highcharts/yAxis.endOnTick

刻度选项强制一系列以指定的最小值/最大值开始或结束。

答案 2 :(得分:0)

你也可以尝试零对齐y轴 Highcharts插件:

{{3}}