26

我正在使用 Highcharts 并希望显示一个简单的柱形图,但我不想使用 y 轴的数值,而是使用文本值。
例如,而不是[0,5,10,15,20]我想使用[Very Low,Low,Medium,High,Very High].

我注意到使用绘图带可以做到这一点,但它仍然显示数字 y 轴标签并且只是将文本放在它们旁边。我只想显示文本标签。

4

2 回答 2

47

您可以使用标签格式化程序更改标签。假设您的数据格式正确,您可以执行以下操作:

var yourLabels = ["Very Low", "Low", "Medium", "High", "Very High"];
var yourChart = new Highcharts.Chart({
    //...
    yAxis: {        
        labels: {
            formatter: function() {
                return yourLabels[this.value];
            }
        }
    }
    //...
});
于 2011-02-21T18:56:59.870 回答
13

声明一个对象,该对象将用于切换您要更改的值,如下所示。

var change = {
    0: 'Very Low',
    5: 'Low',
    10: 'Medium',
    15: 'High',
    20: 'Very High'
};

然后在您的图表选项上使用标签格式化程序来切换它。

yAxis: {
    labels: {
        formatter: function() {
            var value = change[this.value];
            return value !== 'undefined' ? value : this.value;
        }
    }
}
于 2013-02-15T03:47:03.530 回答