首页 > 解决方案 > Highcharts addSeries yAxis 标签格式

问题描述

我有一个 Highcharts 图表,效果很好,并且使用以下格式为 yAxis 标签自定义格式。

yAxis: {
    labels: {
        formatter: function () {
            var newNumber = formatNumber(this.value, 1);
            return newNumber;
        }
};

但是,当我像下面这样动态添加系列时,yAxis 标签没有相同的自定义格式。看起来他们最终只是使用了默认的 Highcharts 数字格式。

chart.addSeries({
    data: newData,
    yAxis: newDataName
});

如何使动态添加的系列与最初加载的系列具有相同的标签编号格式?

另外,请注意,我需要命名动态添加的系列(“newDataName”),以便以后可以再次引用它来删除它。

这也是动态添加轴的方式。因为为了澄清,我添加了一个系列,但也添加了一个轴来显示该系列。

chart.addAxis({
    id: theData,
    title: {
        text: "newAxis"
    }
});

标签: highcharts

解决方案


由于您正在动态添加系列和系列应使用的新轴,因此该轴还需要包含格式化程序详细信息。例如(JSFiddle):

// New axis
chart.addAxis({
    id: 'new',
    // Which also has the label formatter
    labels: {
        formatter: function () {
            return formatNumber(this.value, 1);
        }
    },
    title: {
        text: "newAxis"
    }
});

// New series which uses the axis
chart.addSeries({
    data: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175],
    yAxis: 'new'
});

推荐阅读