对highcharts感到非常沮丧。我有2轴的图表。我希望将零对齐图表才有意义。 Highcharts开箱即用没有这个功能,所以我用自己的逻辑来处理这个问题,它为两个轴计算合适的最小值和最大值。
我使用这些计算值来设置config.yAxis.min
和config.yAxis.max
。不幸的是,highcharts试图变得聪明并重新计算新的最小值和最大值。当我调整浏览器窗口的大小时尤其如此。
我到处寻找,无法找到强制设置最小值和最大值的方法。 Highcharts伙计们,有没有办法做到这一点?如果没有这个,双轴图表将变得毫无用处。
这是一个JSFiddle:jsfiddle.net/ashokraju/5c676o1j/8
答案 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]
}]
修改: 您正在计算最小值和最大值,因此您可能还需要计算滴答。
答案 1 :(得分:1)
试试这个:
"max":783,
"min":-401,
"startOnTick": false,
"endOnTick": false,
https://api.highcharts.com/highcharts/yAxis.endOnTick
刻度选项强制一系列以指定的最小值/最大值开始或结束。
答案 2 :(得分:0)
你也可以尝试零对齐y轴 Highcharts插件:
{{3}}