如何在highcharts中格式化x轴标签

10
我有以下的highchart输出:enter image description here 我只想在x轴标签中看到“Feb-10”,而不是“Feb-10 18:00”。因此所有的x轴标签都将像“Feb-10”、“Feb-12”等一样。但是,tooltip将与输出屏幕上的相同。如何格式化xaxis,以便我将获得“Feb-10”、“Feb-12”等,而不是“Feb-10 18:00”、“Feb-12 20:00”等。
$(function () {
    $('#container').highcharts({
        chart: {
            zoomType: 'xy',
            spacingRight: 20
        },
        credits: {
            enabled: false
        },
        title: {
            text: ''
        },
        xAxis: {
            type: 'datetime',
            labels: {
                overflow: 'justify'
            },
            startOnTick: true,
            showFirstLabel: true,
            endOnTick: true,
            showLastLabel: true,
            categories: dateAndTimeArray,
            tickInterval: 10,
            labels: {
                rotation: 0.1,
                align: 'left',
                step: 10,
                enabled: true
            },
            style: {
                fontSize: '8px'
            }
        },
        yAxis: {
            title: {
                text: 'Measurement value'
            }
        },
        tooltip: {
            xDateFormat: '%Y-%m-%d %H:%M',
            shared: true
        },
        legend: {
            enabled: false
        },
        plotOptions: {
            area: {
                fillColor: {
                    linearGradient: {
                        x1: 0,
                        y1: 0,
                        x2: 0,
                        y2: 1
                    },
                    stops: [
                        [0, Highcharts.getOptions().colors[0]],
                        [1, Highcharts.Color(Highcharts.getOptions().colors[0]).setOpacity(0).get('rgba')]
                    ]
                },
                lineWidth: 1,
                marker: {
                    enabled: false
                },
                shadow: false,
                states: {
                    hover: {
                        lineWidth: 1
                    }
                },
                //  threshold: null
            }
        },
        series: [{
            type: 'line',
            name: 'Value',
            data: chartData,
            marker: {
                enabled: false
            }
        }]
    });
});

你的 dateAndTimeArraychartData 数组长什么样子?如果你能把你的代码做成一个 fiddle,那将非常有帮助。 - Blundering Philosopher
dateAndTimeArray 包含所有日期和时间,格式为 Feb-10 18:00、Feb-12 20:00 等等。chartData 是另一个包含数字值的数组。 例如, dateAndTimeArray = [Feb-10 18:00, Feb-10 20:00, Feb-10 22:00, ...., Feb-12 20:00], 而 chartData = [93.12, 94.18, 98.72,...., 91.24]。我使用 ui:repeat 获取了 dateAndTimeArray 和 chartData,这是一个 JSF 代码。 - Novis
请查看这个示例: http://jsfiddle.net/tn6Kw/8/ - Novis
@Novis xAxis 只绘制了数组的第一个元素。 - brk
1个回答

28

不错,试试这个:

将这个格式化程序添加到你的xAxis labels对象中:

xAxis {
    ...
    labels: {
        ...
        formatter: function() {
            return this.value.toString().substring(0, 6);
        },
    }
}

链接:http://jsfiddle.net/tn6Kw/9/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接