Вопрос

У меня есть HighCharts, чтобы отобразить график с кучей категорий Xaxis. Это все работает нормально, но я хотел бы пропустить некоторые из категорий Xaxis, поэтому не все, что показано. Вы можете увидеть пример этой работы в разделе отчетности монитора кампании (скриншот: http://screencast.com/t/y2fjnzq4y.).

Любая идея, как я могу достичь этой же макета?

Это было полезно?

Решение

Вы можете установить тип XAXIS в виде «DateTime», затем установите PointInterval и PointStart в PlotoPtions.

Пример кода:

var chart;
$(document).ready(function () {
    chart = new Highcharts.Chart({
        "xAxis": {
            "type": "datetime"

        "plotOptions": {
            "line": {
                "pointInterval": 86400000,
                "pointStart": 1282408923000
            }
        },
    });
});

Цифры, которые вы видите для POINTINTERVAL и начать в миллисеционах, которые вы можете генерировать, используя получить время () Интервал в вашем случае будет 86400000 мс, который один день. Библиотека отображает соответствующие интервалы на основе интервала данных.

Другие советы

Похоже, к Xaxis: этикетки: Step Value - это то, что следует использовать для достижения этого:

        xAxis: {
            categories: ['JAN', 'FEB', 'MAR', 'APR', 'MAY'],
            labels:{
                step: 2 // this will show every second label
            }
        },

Этикетки оси шага

Супер поздно, но я понял, что это может помочь кому-то.

    xAxis: {
        categories: categoriesname,
        labels: {
            style: {
                color: '#000',
                font: '9px Trebuchet MS, Verdana, sans-serif'
            }
        },
        **tickInterval: TickInterval,**// SET THIS
        tickPixelInterval: 80,
        tickmarkPlacement: 'on'
    },

Вот мое уродливое решение :)

Я использую массив как очередь. http://javascript.about.com/library/blqueue.htm.Если вы заполните точечные данные в очередь, вы можете установить Datas для вашей серии Chart.

var myQueue = new Array();
var myPoint = [x, y];                                       myQueue.push(myPoint);
chart.series[0].setData(myQueue);

my X axis is not a datetime, it's an integer
first 
var x = 0;

x Значение всегда должно всегда увеличиваться, когда вам нужна новая точка.http://dl.dropbox.com/u/3482121/picture/highcharts/pm/screenshot.png.png

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top