категория xaxis неправильно отображает значения с помощью старших диаграмм нескольких серий, динамически заполняемых с помощью php-mysql - PullRequest
0 голосов
/ 06 февраля 2019

Я использую высокие диаграммы для заполнения моего графика, который извлекает данные из базы данных mysql, а категория для xaxis была выбрана из базы данных и помещена после сортировки. Мой график содержит несколько рядов. Значения данных для этого графика приведены ниже: [{"name": "0.1 нг / мл", "data": [["24 Hr", 1.2]]}, {"name": "1 ng / ml", "data": [["24 Hr",2.2]]}, {"name": "10 нг / мл", "data": [["24 Hr", 5.3]]}, {"name": "3.5 ng / ml", "data": [["24 часа", 3]]}, {"name": "5 нг / мл", "data": [["240 минут", 2.2], ["480 минут", 3.1], ["24 часа", 2.63], [" 48 часов ", 8.1]]}]

, поэтому, взяв эти значения, он неверно отображает 24 часа в разделе" 240 минут ".

Пожалуйста,помогите мне решить эту проблему.

function InitHighChart1 (v1) {$ ("# chart1"). html ("Подождите, загрузка графика1 ...");

var options = {
    chart: {type: 'line',
        renderTo: 'chart1',
    },colors: ['#058DC7', '#50B432', '#ED561B', '#DDDF00', '#24CBE5', '#64E572', '#FF9655', '#FFF263', '#6AF9C4'],
    credits: {
        enabled: false
    },
    title: {
        text: 'Pubmed Id: '+v1,
        x: -20
    },

        xAxis: {categories:<?php echo $_SESSION["cat"]; ?>,

        minPadding: 0.05,
        maxPadding: 0.05,
         title: {
    enabled: true,
    text: 'Time Point'

}

    },
    tooltip: {
    shared: true,
    useHTML: true,
    headerFormat: '<small>Time Point:{point.key}</small><table>',
    pointFormat: '<tr><td>Dosage:</td><td style="color: {series.color}">{series.name}: </td>' +
        '<td style="text-align: right"><b>{point.y} </b></td></tr>',
    footerFormat: '</table>',
    enabled: true,
        crosshairs: {
            color: 'blue',
            dashStyle: 'solid'
        }

    },
    plotOptions: {
        line: {
            dataLabels: {
                enabled: true
            },
            enableMouseTracking: true
        }
    },
    series: [{}]


};

$.ajax({
    url: "jdata.php",
    data: 'show=impressions',
    type:'get',
    dataType: "json",
    success: function(data){

                           var getSeries = data;
                            options.series = getSeries;
                 var chart = new Highcharts.Chart(options);         
    }
});

}

введите описание изображения здесь

1 Ответ

0 голосов
/ 07 февраля 2019

Строковые значения в массиве данных обрабатываются как имя точки.Вам необходимо установить их в виде числовых значений:

series: [{
    "name": "0.1 ng/ml",
    "data": [
        [2, 1.2]
    ]
}, {
    "name": "1 ng/ml",
    "data": [
        [2, 2.2]
    ]
}, {
    "name": "10 ng/ml",
    "data": [
        [2, 5.3]
    ]
}, {
    "name": "3.5 ng/ml",
    "data": [
        [2, 3]
    ]
}, {
    "name": "5 ng/ml",
    "data": [
        [0, 2.2],
        [1, 3.1],
        [2, 2.63],
        [3, 8.1]
    ]
}]

API: https://api.highcharts.com/highcharts/series.line.data

Демонстрационная версия: http://jsfiddle.net/BlackLabel/sfnq1b8m/

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