在 Highcharts 中为柱形图设置最小默认范围
Set a minimal default range for a column chart in Highcharts
我将 Highcharts 用于具有正百分比值和负百分比值的柱形图。
我总是希望图表的 y 轴至少显示 -50% 和 +30% 之间的范围,无论值是什么。但是,如果值大于 30% 或小于 -50%,则 y 轴的范围应相应调整。如果我使用 yAxis: {min: -50, max: 30}
当我有更大的值时范围不会变大。
有办法吗?或者我是否必须在 Highcharts 计算出范围后以编程方式更新它?
您可以自己编写函数来定位刻度,它是tickPositioner
目前你必须自己做。
它可以通过 运行 检查 min/max 并在需要时重置的功能来完成。
像这样的东西(快速肮脏的例子):
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)
我将 Highcharts 用于具有正百分比值和负百分比值的柱形图。
我总是希望图表的 y 轴至少显示 -50% 和 +30% 之间的范围,无论值是什么。但是,如果值大于 30% 或小于 -50%,则 y 轴的范围应相应调整。如果我使用 yAxis: {min: -50, max: 30}
当我有更大的值时范围不会变大。
有办法吗?或者我是否必须在 Highcharts 计算出范围后以编程方式更新它?
您可以自己编写函数来定位刻度,它是tickPositioner
目前你必须自己做。 它可以通过 运行 检查 min/max 并在需要时重置的功能来完成。
像这样的东西(快速肮脏的例子):
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)