Google visualization 在Google Charts DataTable列被创建之后,如何明确定义其数据类型?

Google visualization 在Google Charts DataTable列被创建之后,如何明确定义其数据类型?,google-visualization,jquery-csv,timeofday,Google Visualization,Jquery Csv,Timeofday,我使用jquery csv ToArray函数填充google可视化数据表,如下所示: 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,

我使用jquery csv ToArray函数填充google可视化数据表,如下所示:

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 visualization的arrayToDataTable函数试图为每列自动确定适当的数据类型,但由于第一列将字符串类型而不是所需的TimeOfDay类型指定给它,因此失败

我知道我可以在手动填充列数据类型时确定它,如下所示:

var dt = new google.visualization.DataTable({
    cols: [{id: 'time', label: 'Time', type: 'timeofday'},
           {id: 'temp', label: 'Temperature', type: 'number'}],
...
但是,在arrayToDataTable函数填充列之后,我是否可以更改列的数据类型

编辑:

这里有一个类似于我目前使用的

当我按照下面的建议在创建DataTable之前将列标题更改为object notation并强制将其设置为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);
    });
 }

谢谢

在创建
数据表之前,将列标题更改为object notation

并使用数据视图将第一列转换为
'timeofday'

google.charts.load('current'{
回调:函数(){
csvString='时间,TEMP0,HUM0\n12:00:04,24.7,50\n12:01:05,24.7,50';
var arrayData=$.csv.toarray(csvString,{onParseValue:$.csv.hooks.castToScalar});
var data=新的google.visualization.arrayToDataTable(arrayData);
var列=[];
对于(var i=0;i