我想在 Highcharts 柱形图上将 YAxis 值居中为零,正负值如下:https ://drive.google.com/open?id=0B_IZwAPijvleZzBhUnVaSFhBcDQ ,这些轴值是动态加载的。使用 jqPlot 在轴设置中有一个名为 forceTickAt0 的选项可以满足我的要求,我想知道 Highcharts 是否可以这样做,如果可以怎么办?谢谢。
更新: 好的,为了清楚地解释我的问题,我创建了一个jsFiddle。正如您在图表上看到的,y 轴的最大/最小系列值为 5001/-4280,但 Highcharts 在 y 轴边界显示 15000/-5000,我预计它是 6000/-5000,如果您删除y 轴系列的第一个值 5001,Highcharts 将在 y 轴边界处显示 5000/-5000,这正是我所期望的。所以在 y 轴系列中添加 5001 值会导致 y 轴边界变得太远。
关键是我不希望 y 轴上的最大/最小系列值距离图表最大/最小边界值太远。
以下是代码,为了解释,这里的系列数据使用固定值,在实际情况下它们都是动态加载的。
$(function() {
$('#container').highcharts({
chart: {
zoomType: 'xy',
plotBackgroundColor: '#fffdf6',
alignTicks: true,
},
title: {
text: 'Country Illegally Building Num Average Tax',
},
subtitle: {
text: ''
},
xAxis: [{
categories: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N'],
crosshair: true,
title: {
text: 'Country Code',
}
}],
yAxis: [{ // Primary yAxis
labels: {
format: '{value} ',
},
title: {
text: 'Illegally Building Num',
},
}, { // Secondary yAxis
min: 0, //Required to start at zero
title: {
text: 'Average Tax ($)',
style: {
color: '#666'
}
},
labels: {
format: '{value} $',
style: {
color: '#666'
}
},
opposite: true
}],
tooltip: {
shared: true
},
legend: {
enabled: false
},
series: [{
color: 'red',
negativeColor: 'green',
name: 'Illegally Building Num',
type: 'column',
data: [5001, 369, 475, 891, 3585, 4235, -1711, -3648, -3749, -2555, -4280, -1017, 2001, -900],
tooltip: {
valueSuffix: ' '
}
}, {
name: 'Average Tax',
type: 'line',
data: [140.5, 141, 139.5, 162, 151, 142, 147, 151, 154, 142, 146, 149, 153, 111.5],
yAxis: 1,
tooltip: {
valueSuffix: ' $'
}
}]
});
});