если вы планируете нарисовать диаграмму Google с этими данными,
вам нужно будет преобразовать значения из строк в числа.
от ...
['value', '80', '120'],
до ...
['value', 80, 120],
в противном случае вы получите следующую ошибку ...
Data column(s) for axis #0 cannot be of type string
Вы можете использовать метод map
, как предлагается в других ответах,
использовать parseFloat
или parseInt
для преобразования строк в числа.
будет работать следующее ...
var dataObj = [
{
"Value":"80,120"
},
{
"value2":"117,120"
},
{
"value3":"105,111"
},
{
"value4":"40,77"
},
{
"value5":"27,44"
}
];
var dataArray = dataObj.map(function (row) {
var keys = Object.keys(row);
var values = row[keys[0]].split(',');
return [keys[0], parseFloat(values[0]), parseFloat(values[1])];
});
console.log(JSON.stringify(dataArray));
также, поскольку данные массива не включают заголовки столбцов,
вам нужно будет использовать true
для аргумента «первая строка - данные»в arrayToDataTable
,
, который является вторым аргументом ...
var data = google.visualization.arrayToDataTable(dataArray, true);
ниже приведен рабочий пример использования диаграммы Google ...
google.charts.load('current', {
packages: ['corechart']
}).then(function () {
var dataObj = [
{
"Value":"80,120"
},
{
"value2":"117,120"
},
{
"value3":"105,111"
},
{
"value4":"40,77"
},
{
"value5":"27,44"
}
];
var dataArray = dataObj.map(function (row) {
var keys = Object.keys(row);
var values = row[keys[0]].split(',');
return [keys[0], parseFloat(values[0]), parseFloat(values[1])];
});
var data = google.visualization.arrayToDataTable(dataArray, true);
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data);
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>