如何在HighCharts中添加自定义FirstLabel?

时间:2014-02-28 00:28:46

标签: highcharts label formatter axis-labels

StackedColumn图表中的x轴有一个showFirstLabel属性。如何格式化以显示特定文本?这可能吗?

$(function () {
    $('#container').highcharts({
        chart: {
        },
        xAxis: {
            endOnTick: true,
            showFirstLabel: true,
            startOnTick: true
        },

        series: [{
            data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]        
        }]
    });
});

谢谢。

2 个答案:

答案 0 :(得分:1)

使用isFirst属性检查您是否格式化了第一个标签,请参阅:http://jsfiddle.net/V6768/1/

    xAxis: {
        endOnTick: true,
        showFirstLabel: true,
        startOnTick: true,
        labels: {
            formatter: function() {
                var str;
                if(this.isFirst) {
                    str = "I'm first one";
                } else if(this.isLast){ 
                    str = "I'm last one";
                } else {
                    str =  this.value;   
                }
                return str;
            }
        }
    },

答案 1 :(得分:0)

这看起来有点像hacky,但它对我有用:

var firstLabel;
$('#container').highcharts({
    chart: {
    },
    xAxis: {
        endOnTick: true,
        showFirstLabel: true,
        startOnTick: true,
        labels: {
            formatter: function() {
                if (!firstLabel) {
                    firstLabel = this.value;
                }
                if (this.value === firstLabel) {
                    // your custom text goes here:
                    return 'yay';
                } else {
                    return this.value;
                }
            }
        }
    },

    series: [{
        data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]        
    }]
});

小提琴:http://jsfiddle.net/V6768/