为什么我的标签格式化程序在highcharts中没有按预期工作

时间:2015-01-28 13:02:07

标签: highcharts

我想为x轴的标签做动态短信。基本上如果显示了同月份的标签,我不想重复它们。 但是,在我的jsfiddle示例中,它以某种方式不起作用(即使它确实返回了想要的文本)。我究竟做错了什么? http://jsfiddle.net/daxu/md2zk/64/

                if (labelYear == -1 || year != labelYear) {
                    $('#MessagePerformanceChartContainerID').data("FirstYear", year);
                    if (labelYear == -1)
                    {
                        usedLabels = [];
                    }
                    usedLabels.push(curr_month + ' ' + curr_year);
                    $('#MessagePerformanceChartContainerID').data("UsedLabels", usedLabels);
                    ////first one so
                    return curr_month + ' ' + curr_year;
                }
                else{
                    var usedLabel = curr_month + ' ' + curr_year;
                    if ( $.inArray(usedLabel, usedLabels) != -1)
                    {
                        usedLabel = curr_day + ' ' + curr_month + ' ' + curr_year;
                        return 'a';
                    }
                    else
                    {
                        usedLabels.push(usedLabel);
$('#MessagePerformanceChartContainerID').data("UsedLabels", usedLabels);

                        alert(usedLabel);
                        return usedLabel;
                    }
                }

1 个答案:

答案 0 :(得分:2)

只是格式化程序被调用两次:)请参阅JS控制台:http://jsfiddle.net/md2zk/66/ - 每个时间戳列出两次。

作为解决方案,我会在UsedLabels中清理tickPositioner

$('#MessagePerformanceChartContainerID').data("UsedLabels", []);

演示:http://jsfiddle.net/md2zk/67/