Highcharts x轴标签自动分组

时间:2013-11-07 19:35:25

标签: highcharts

我正在使用highcharts显示一个月的数据,因此它可以显示从1个数据点到31个数据点的任何地方(我使用jQuery Datepicker小部件来选择日期)。我的问题是x轴。当在2到7个数据点之间进行查看时,x轴会自动尝试调整自身,这样可以正常渲染更多的数据点,但是当前面提到的数据点较少时会出现问题。

我已经捕获了一些显示我的perdicament的截图,并创建了一个JSFiddle。我确实有一个特定的大小,我需要适应图表,我在JSfiddle使用相同的大小。

我最理想的是x轴在本月的第一天开始(或者至少在上个月末开始),避免重叠问题。我希望这是一个我忽略的设置,它控制高位图“自动”计算x轴上显示的内容及其间隔。我知道有一个滴答间隔设置,但在我的情况下,我没有任何运气。

图片:http://i.imgur.com/p0bQg6U.png

JSFiddle:http://jsfiddle.net/engemasa/sgKcB/

这是highcharts代码:

 $('.chart').highcharts({
    chart: {
        type: 'column'
    },
    xAxis: {
        labels: {
            enabled: true,
            formatter: function() {
                return Highcharts.dateFormat("%b %e, '%y", this.value);
            }
        }
    },
    title: {
        text: null
    },
    tooltip: {
        formatter: function() {
            var date = '<b>' + Highcharts.dateFormat('%A, %b %e, %Y', this.x) + '</b><br />';
            return date + this.y;
        }
    },
    yAxis: {
        labels: {
            enabled: true
        }
    },
    credits: {
        enabled: false
    }
});

非常感谢帮助!

2 个答案:

答案 0 :(得分:1)

对于Highcharts,解决方案似乎是datetime xAxis和dateTimeLabelFormats选项。例如:http://jsfiddle.net/sgKcB/26

    xAxis: {
        type: 'datetime',
        dateTimeLabelFormats: {
            day: "%b %e, '%y",
            week: "%b %e, '%y"
        }
    },

答案 1 :(得分:0)

您可以使用tickPositioner参数,该参数允许您自己的功能。您可以计算并返回滴答的正确顺序。

http://api.highcharts.com/highstock#xAxis.tickPositioner