gpt4 book ai didi

javascript - 如何使用 Javascript 更改 DataTable 的 Google Chart API 中的格式

转载 作者:行者123 更新时间:2023-12-02 17:17:38 27 4
gpt4 key购买 nike

  • 我想更改 DataTable 中数据的格式为了使其更加灵活,图表仍然与第一个。

默认:

['Year', 'Sales', 'Expenses'],
['2004', 1000, 400],
['2005', 1170, 460],
['2006', 660, 1120],
['2007', 1030, 540]

必须是:

['Year', '2004', '2005', '2006', '2007'],
['Sales', 1000, 1170, 660, 1030],
['Expenses', 400 ,460, 1120, 540]

Demo

<小时/>

HTML:

<div id="chart_div" style="width: 450px; height: 300px;"></div>

Javascript:

google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Year', 'Sales', 'Expenses'],
['2004', 1000, 400],
['2005', 1170, 460],
['2006', 660, 1120],
['2007', 1030, 540]
]);

var options = {
title: 'Company Performance'
};

var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, options);
}

最佳答案

您必须转置数组,例如:http://jsfiddle.net/krzysztof_safjanowski/Mw398/1/

var data = google.visualization.arrayToDataTable(transposeArray([
['Year', '2004', '2005', '2006', '2007'],
['Sales', 1000, 1170, 660, 1030],
['Expenses', 400, 460, 1120, 540]
]));

function transposeArray(array) {
return array[0].map(function (col, i) {
return array.map(function (row) {
return row[i];
});
});
}

在将数据传递到 arrayToDataTable 之前,您必须以 Google 图表能够理解的格式准备数据。

转置 – http://en.wikipedia.org/wiki/Transpose

方法maphttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

关于javascript - 如何使用 Javascript 更改 DataTable 的 Google Chart API 中的格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24281369/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com