Highcharts在Y轴上重复相同的标签值

时间:2014-06-26 17:45:43

标签: javascript jquery highcharts

我有一张Highcharts折线图,其中Y轴标签不显示大数字的小数位。 如果值超过5位,则小数位不能显示,这意味着所有标签显示相同的值。

我知道我可以定义一个自定义格式化程序来显示小数位,但图表非常动态,可以显示值变化很大的行。某些系列可能只有整数,有些则需要最多5位小数。我不想要搜索系列并传回最大值和最小值,只是为了在加载新系列后正确缩放轴。图表通常是自动缩放并显示正确的标签,所以这里有什么问题? 以下是问题的简要示例:JSFiddle

Y轴有一个基本的基本定义;

        yAxis: {
        max: 33999.253,
        min: 33999.219,
        title: {
            text: 'm',
            style: {
                color: '#000000',
                fontWeight: 'bold'
            }
        },
        labels: {
            style: {
                color: '#000000'
            }
        }
    },

正如您在最初显示时所看到的,所有Y轴标签都相同。 然而,当您更新系列(使用dataSet按钮)并显示具有更低值的不同数据系列时,将显示小数位。 当您缩放轴时,标签甚至不会显示(使用自动缩放按钮)。

这是由边距间距引起的问题还是我缺少其他一些配置设置?

2 个答案:

答案 0 :(得分:1)

默认情况下,Highcharts会将标签舍入为两位小数。您可以使用yAxis.labels.formatter进行更改。见:

        yAxis: {
            max: 33999.253,
            min: 33999.219,
            title: {
                text: 'm',
                style: {
                    color: '#000000',
                    fontWeight: 'bold'
                }
            },
            labels: {
                formatter: function() {
                    return this.value;
                },
                style: {
                    color: '#000000'
                }
            }
        },

并演示:http://jsfiddle.net/NZjUg/4/

答案 1 :(得分:1)

有一个简单的解决方案,

使用您自己的格式化程序标记

            yAxis: {
                max: 33999.253,
                min: 33999.219,
                title: {
                    text: 'm',
                    style: {
                        color: '#000000',
                        fontWeight: 'bold'
                    }
                },
                labels: {
                    style: {
                        color: '#000000'
                    },
                    formatter: function () {
                        return this.value
                    }
                }
            },

在这里更新了你的小提琴:http://jsfiddle.net/NZjUg/5/