2
function drawChart() {
// Load the CSV file into a string
$.get("Book1.csv", function(csvString) {
// transform the CSV string into a 2-dimensional array
var arrayData = $.csv.toArrays(csvString, {onParseValue: $.csv.hooks.castToScalar});
// Create new DataTable object from 2D array
var data = new google.visualization.arrayToDataTable(arrayData);
// Set which columns we will be using
var view = new google.visualization.DataView(data);
view.setColumns([0,1,5,9,13,17,21,25,29]);
...
CSVファイルの最初の列には、チャートの横軸として使用されている時刻のリストが含まれています。
Google視覚化のarrayToDataTable関数は、各列の適切なデータ型を自動的に決定しようとしますが、最初の列では必要なTimeOfDay型の代わりにString型を割り当てて失敗します。
var dt = new google.visualization.DataTable({
cols: [{id: 'time', label: 'Time', type: 'timeofday'},
{id: 'temp', label: 'Temperature', type: 'number'}],
...
しかし、それはすでにarrayToDataTable機能によって移入された後、私は列のデータ型を変更することができます。
は、私はそれを移入するとき、私はそうのように手動で列のデータ型を決定することができます知っていますか?
EDIT:
ここでは、私が現在使用していたものと同様CSV fileです。
下記のようにDataTableを作成してTimeOfDayに強制する前に、列見出しをオブジェクト表記に変更すると、最初の列は一連のNaN:NaN:NaN.NaNに変換されます。ここには、提案された答えに似た単純な例があります。
google.load('visualization', '1', {packages: ['controls', 'charteditor']});
google.setOnLoadCallback(drawChart);
function drawChart() {
// Load the CSV file into a string
$.get("Book1.csv", function(csvString) {
// transform the CSV string into a 2-dimensional array
var arrayData = $.csv.toArrays(csvString, {onParseValue: $.csv.hooks.castToScalar});
// Create new DataTable object from 2D array
var data = new google.visualization.arrayToDataTable(arrayData);
// Show datatable in grid to see what is happening before the data type change
var chart1 = new google.visualization.Table(document.getElementById('chart_div0'));
chart1.draw(data);
// Here we explicitly define type of first column in table
arrayData[0][0] = {type: 'timeofday', label: arrayData[0][0]};
// Create new DataTable object from 2D array
var data = new google.visualization.arrayToDataTable(arrayData);
// Show datatable in grid to see what is happening after the data type change
var chart2 = new google.visualization.Table(document.getElementById('chart_div1'));
chart2.draw(data);
});
}
ありがとう!