Highcharts ошибка 14 в диаграмме из таблицы HTML

Я использую модуль данных highcharts для построения диаграммы из таблицы html. В конфигурации данных диаграммы у меня просто есть:

data: {
    table: table
}

Но если у меня есть строковые значения, такие как «null», «NA», или даже разделители запятых в таблице HTML, я получаю ошибку highcharts 14, ‘string value passed to chart…’

Что я пробовал:

Поскольку HC должен быть в состоянии обрабатывать нулевые значения, Я заменил NA будет null в таблицах. Я также попытался просто оставить пробелы «» пустой. Но проблема в тысяче сепараторов. Поэтому я добавил thousandsSep:’, ‘ надеясь, что вывод диаграммы поймет, что запятые являются частью дисплея, но это не работает.

Моей следующей мыслью было использовать функцию форматирования:

data: {
    table: function(){...change strings to float etc}
}

Ни одна из моих попыток последнего, кажется, не работает, поскольку я не могу понять, как выглядит объект данных при доступе из таблицы. Любой совет был бы признателен.

1 ответ

  1. Решение, которое, кажется, исправило проблему, должно было добавить функцию «parsed» здесь ссылка на api: http://api.highcharts.com/highcharts/data.parsed

    Я добавил следующее к свойству data:

    data: {
            table: 'datatable',
            parsed: function()
            {
             var chartData = this.columns;
             var nData = [];
             for(var a in chartData)
             {
                var tempArray = [];
                for(var e in chartData[a])
              {
                var v = chartData[a][e].replace(/\,/g,"").replace("NA","0");
                /\d/g.test(v) == true ? v = parseFloat(v) : v = v;
                tempArray.push(v);
              }
              nData.push(tempArray);
             }
             this.columns = nData;
             //alert(JSON.stringify(nData));
             //this.columns = [];
             //this.columns.push(nData[0]);
             //this.columns.push(nData[1]);
            }
        },
    

    …так далее