0

我正在使用 highchart 显示对数轴的图形。我真的需要在 yAxis 上精确设置最小值和最大值。

不幸的是,如果我的最大值不在刻度上,它将不会按预期显示 minorTrickGrid。

这个小提琴中看到

预期结果应该是这样的,但没有勾选“ 1000 ”。最大值正好是999

关键线是max : 1000允许显示次要网格线。但我的问题是我需要将最大值设置为 999 ( max : 999),这使得小网格很奇怪。

问题是:这是一个错误还是有办法在这种情况下显示次要网格线?

4

2 回答 2

0

如果你只是想摆脱 1k 标签,你可以保留 max:1000,但添加一个自定义格式化函数,如下所示:

yAxis: {
            endOnTick: false,
            type: 'logarithmic',
            minorTickInterval: 0.1,
            min: 1,
            max: 1000,
            labels:{
                formatter:function() {
                    if (this.value==1000) {
                        return "";
                    } else {
                        return this.value;
                    }
                }
            }
        },

http://jsfiddle.net/hA9yF/

如果您设置 max:999,这仍然不起作用,但可能是适合您的解决方法。

于 2013-04-11T10:05:39.747 回答
0

您可以使用标签格式化程序 ( http://api.highcharts.com/highcharts#yAxis.labels.formatter ) 和 highcharts.numberFormat() ( http://api.highcharts.com/highcharts#Highcharts.numberFormat() )允许返回自定义数字。

http://jsfiddle.net/a3jXx/5/

labels:{
                formatter:function(){

                    return Highcharts.numberFormat(this.value,0);

                }
            }
于 2013-04-11T10:13:22.793 回答