Метка оси X как категория не отображается правильно: Highcharts - PullRequest
0 голосов
/ 10 января 2020

Когда я пытаюсь создать динамическую c потоковую диаграмму в API Highcharts, у меня возникла странная проблема.

Первое, что нужно иметь в виду, это то, что мне нужно показать ось X данные как category, поэтому для этого примера я превратил date в строковый формат.

Проблема заключается в том, что метка оси X не отображается правильно, только одна точка на оси х видимый, и это также меняет свои значения, а не сдвигает.

Вот код JS, который я пробовал.

Highcharts.chart('container', {
    chart: {
        type: 'line',
        animation: Highcharts.svg, // don't animate in old IE
        marginRight: 10,
        events: {
            load: function() {
              var series = this.series[0],
                    chart = this;
                var count = 0;
                 var draw = setInterval(function() {

                    x  = countval(); 
                   //   var counter = j;
                   //   console.log("Count: ", counter);
                      y = next();
                   console.log("CountVal : ", x);
                   console.log("DataPoints: ", y);
                 /* if (counter == 1300) {
                        clearInterval(draw);
                        return;
                    }
           */
                    if (counter > 1000) {
                        series.addPoint([x, y], true, true, false);
                    } else {
                        series.addPoint([x, y], true, false, false);
                    }
                }, 1000/130 );
             }
        }
    },

    time: {
        useUTC: false
    },

    title: {
        text: 'ECG Graph Plot From MySQl Data'
    },
    xAxis: {
        type: 'category',
        tickInterval: 200,
     /*/   labels: {
      format: '{value:%H:%M:%S}',
      range: false,
    },/*/
      //  plotLines: generateDynamicPlotLines(),
       // crosshair: false
    },
    yAxis: {
        title: {
            text: 'Value'
        },
        plotLines: [{
            value: 0,
            width: 1,
            color: '#808080'
        }]
    },
    tooltip: {
        enabled: false,
      /*/  headerFormat: '<b>{series.name}</b><br/>',
        pointFormat: '{point.x:%Y-%m-%d %H:%M:%S}<br/>{point.y:.2f}'/*/
    },
    legend: {
        enabled: false
    },
    exporting: {
        enabled: false
    },
     plotOptions: {
        series: {
            marker: {
                enabled: false
            },
            states: {
                        hover: {
                            enabled: false
                        }
                    }
        }
    },
    series: [{
            animation: false,
            name: 'ECG Graph Plot From MySQl Data',
            dataGrouping: {
                enabled: false
            },
            data: []
        },

    ]
});

Для дальнейшего понимания, вы можете проверить эту скрипку, которую я есть что показывает мою проблему. Вы можете увидеть проблему с осью X.

https://jsfiddle.net/abnitchauhan/8jtz2fwy/

Я установил tickInterval на 200, он не отображает никакой точки. и если я поставлю tickPixelInterval. оси X просто обновляют свои «нет», а не смещают.

1 Ответ

0 голосов
/ 10 января 2020

Попробуйте установить для xAxis.type значение «datetime» вместо «category».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...