Интервал тиков Highchart за 5 дней

Я не могу понять, как правильно установить интервал тиков. Необходимо поставить галочку с разницей в 5 дней по оси X. Я хочу отобразить ось X, например «1 марта, 5 марта, 10 марта, 15 марта» и т. д.

Пример скрипта

Java-скрипт приведен ниже

            <script type="text/javascript">
            $(function () {
            $('#container').highcharts({
                chart: {
                    zoomType: 'x'
                },
                title: {
                    text: 'USD to EUR exchange rate from 2006 through 2008'
                },
                subtitle: {
                    text: document.ontouchstart === undefined ?
                            'Click and drag in the plot area to zoom in' :
                            'Pinch the chart to zoom in'
                },
                xAxis: {
                    type: 'datetime',
                    tickInterval:24 * 3600 * 1000,
                },
                yAxis: {
                    title: {
                        text: 'Exchange rate'
                    }
                },
                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')]
                            ]
                        },
                        marker: {
                            radius: 2
                        },
                        lineWidth: 1,
                        states: {
                            hover: {
                                lineWidth: 1
                            }
                        },
                        threshold: null
                    }
                },

                series: [{
                    type: 'area',
                    name: 'USD to EUR',
                    pointInterval: 24 * 3600 * 1000,
                    pointStart: Date.UTC(2015, 2, 1),
                    data: [[140],[127],[35],[132],[192],[179],[131],[206],[92],[57],[352],[370],[281],[282],[128],[100],[33],[215],[154],[226],[225],[334],[105],[60],[264],[227],[151],[115],[184],[74]]        
                }]
            });
            });
            </script>

Спасибо


person sijo vijayan    schedule 30.03.2015    source источник
comment
Что здесь не так? Он показывает число после апреля, потому что вы не сказали, что оно должно показывать после апреля.   -  person Burak Karakuş    schedule 30.03.2015
comment
Я хочу показать полные данные с января по апрель   -  person sijo vijayan    schedule 30.03.2015
comment
Он показывает данные, которые вы указали в массиве series.data. Что значит полные данные?   -  person Burak Karakuş    schedule 30.03.2015
comment
Если данные относятся к январю и апрелю, вам необходимо указать конкретные даты. Он не может просто угадать, где находятся точки. Вы можете вставлять пустые метки между каждым месяцем, если настаиваете на category, но это звучит как datetime.   -  person Halvor Holsten Strand    schedule 30.03.2015
comment
Я обновил свой вопрос, пожалуйста, помогите мне.   -  person sijo vijayan    schedule 30.03.2015


Ответы (2)


Вы всегда можете использовать tickPositioner, демо: http://jsfiddle.net/96x5dz5c/2/

xAxis: {
    type: 'datetime',
    tickInterval:24 * 3600 * 1000 * 5,
    tickPositioner: function(min, max){
         var interval = this.options.tickInterval,
             ticks = [],
             count = 0;

        while(min < max) {
            ticks.push(min);
            min += interval;
            count ++;
        }

        ticks.info = {
            unitName: 'day',
            count: 5,
            higherRanks: {},
            totalRange: interval * count
        }


        return ticks;
    }
},
person Paweł Fus    schedule 31.03.2015
comment
Ваш ответ правильный, это именно то, что я хочу. Спасибо большое - person sijo vijayan; 01.04.2015

Проблема с тиками — особенность Highcharts. Он не поддерживает все числа в качестве интервалов, о чем я имею в виду, сообщается здесь: https://github.com/highslide-software/highcharts.com/issues/1104

Это означает, что вы не можете делать с Highcharts то, что хотите. Я рекомендую вам взглянуть на jquery флот. Он поддерживает то, что вы хотите. https://flot.googlecode.com/svn/trunk/API.txt

person Burak Karakuş    schedule 30.03.2015