当min和max打开时,高图日期时间图x轴无法在绘图上获取数据

时间:2013-06-19 13:46:25

标签: javascript graph highcharts

$(function () {
   $('#container').highcharts({
            chart: {
                showAxes : true,
                type: 'line',
                marginRight: 130,
                marginBottom: 25
            },
            tooltip: {
                crosshairs: [true],
                shared : true
             },
            title: {
                text: '',
                x: -20 //center
            },
            subtitle: {
                text: '',
                x: -20
            },
            xAxis: {
            type :'datetime',
            tickInterval : 12*30*24*3600* 1000,
            min : Date.UTC(2011, 0, 1),
            max : Date.UTC(2020, 0, 1),
            label : {
                align : 'left'
            }
            },
            yAxis: {
                title: {
                    text: 'PRICE Rs. / SQ.FT.'
                },
                lineWidth: 2,
                plotLines: [{
                    value: 0,
                    width: 1,
                    color: '#808080'
                }]
            },

        series: [{
            data:[2165,1831,2798,2200,2237,2799,2400,2500,2865,2850]
                }]
    });
});

我的x轴具有年份和数据系列,其具有我想在Y轴上显示的信息。 当我删除从2010年到2022年的间隔我。 e comment min和max选项highcharts从1970年开始绘制图形,但之后没有分数。 http://jsfiddle.net/R8kx7/3/这是链接

2 个答案:

答案 0 :(得分:2)

根据您对@SteveP答案的评论,如果您不希望为每个系列明确地将x值与每个y配对,请使用plotOptions.series pointStartpointInterval属性。

       plotOptions: {
            series: {
                pointStart: Date.UTC(2011, 0, 1),
                pointInterval : 12*30*24*3600* 1000
            }
        },       
        series: [{
            data:[2165,1831,2798,2200,2237,2799,2400,2500,2865,2850]
    }]

更新了小提琴here

答案 1 :(得分:1)

虽然您指定的是min和max,但您的数据没有指定x值,因此假设日期时间值从0开始。有几种方法可以呈现所需的图表。

首先,您可以在数据点中指定x值,例如

{x:Date.UTC(2011, 0, 1),y:2165}

另一种方法是不使用日期时间轴类型,只需在x轴中指定所需的类别:

categories:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]

第二个选项可能更简单http://jsfiddle.net/K6xxz/