2016-05-31 10 views
1

Googleのグラフを作成しようとしていますが、重複している日付にエラーが表示されています。私はそれを動作させる方法を知らない。列Aは列のインデックスとして定義する必要があります。Google Chart:日付の形式

誰でもこれを行うのですか?

これはvisualizationです。 これは初心者のためのdatabase

<html> 
    <head> 
    <!--Load the AJAX API--> 


</head> 

<body style="font-family: Arial;border: 0 none;"> 
     <div id="dashboard" style="width:1300px;overflow:scroll;"> 
      <div id="chart" style="position: relative; width: 1300px; height: 400px;"></div> 
      <div id="control" style="position: relative; width: 1300px; height: 100px;"></div> 
     </div> 

     <div id="junk_div" style="display: none;"></div> 


<script type="text/javascript"> 

var data; 
var dataTable; 
var dashboard; 

google.load("jquery", "1.4.2"); 
google.load("visualization", "1.1", {packages:["controls,corechart, table"]}); 
google.setOnLoadCallback(drawVisualization); 

function setupData(){ 
    var control = new google.visualization.ControlWrapper({ 
     'controlType': 'ChartRangeFilter', 
     'containerId': 'control', 
     'options': { 
      // Filter by the date axis. 
      'filterColumnIndex': 0, 
      'ui': { 
       // 'chartType': 'BarChart', 
       'chartOptions': { 
        'chartArea': {'width': '90%'}, 
       'hAxis': {'format': 'dd/MM/yyyy'} 
       }, 
       'chartView': { 
        'columns': [ 0, 1, 3] 
       } 
      } 
     }, 


    }); 

    //then reverse the process in the ChartWrapper's view.columns: 

    var chart = new google.visualization.ChartWrapper({ 
     'chartType': 'ScatterChart', 
     'containerId': 'chart', 
     'options': { 
        'filterColumnIndex': 0, 

     'pointSize': 2, 
      // Use the same chart area width as the control for axis alignment. 
      'chartArea': {'height': '80%', 'width': '90%'}, 
      'hAxis': {'format': 'dd/MM/yyyy'}, 
      // 'vAxis': {'viewWindow': {'min': 0, 'max': 20}}, 
      'legend': {'position': 'none'} 
     }, 
     view: { 
      columns: [ 0, 1, 3] 
     } 
    }); 
// console.log('label: ' + data.getColumnLabel(0)); 
    dashboard.bind(control, chart); 
    dashboard.draw(data); 

} 

function drawVisualization() { 

    dataTable = new google.visualization.DataTable(); 

// var dateFormatter = new google.visualization.DateFormat({pattern: 'dd/MM/yyyy'}); 
// dateFormatter.format(data, 0); 
// data.addColumn('date', 0); 
    dashboard = new google.visualization.Dashboard(document.getElementById('dashboard')); 

    var query = new google.visualization.Query('https://docs.google.com/spreadsheets/d/1MnnVAMNIbhNZbNXfGWl4iLN8ebCXnybo4usIQOSBcDQ/edit#gid=0'); 

    query.setQuery("select A,B,C,D where A is not null"); 
    query.send(handleQueryResponse); 

} 



function handleQueryResponse(response) { 
    if (response.isError()) { 
     alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage()); 
    return; 
    } 

    data = response.getDataTable(); 

    setupData(); 
} 

</script> 

</body> 

</html> 

答えて

1

あり、次の古いjsapi

対チャートライブラリに
をロードするためにloader.jsを使用することが推奨され、各パッケージは...
別にリストする必要があります packages: ['controls', 'corechart', 'table']

それ以外は、このような何かが動作するはずです...

google.charts.load('current', { 
 
    callback: function() { 
 
    var query = new google.visualization.Query('https://docs.google.com/spreadsheets/d/1MnnVAMNIbhNZbNXfGWl4iLN8ebCXnybo4usIQOSBcDQ/edit#gid=0'); 
 
    query.setQuery('select A,B,C,D where A is not null'); 
 
    query.send(function (response) { 
 
     if (response.isError()) { 
 
     console.log('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage()); 
 
     return; 
 
     } 
 

 
     var control = new google.visualization.ControlWrapper({ 
 
     controlType: 'ChartRangeFilter', 
 
     containerId: 'control', 
 
     options: { 
 
      filterColumnIndex: 0, 
 
      ui: { 
 
      chartOptions: { 
 
       chartArea: {width: '90%'}, 
 
       hAxis: {format: 'dd/MM/yyyy'} 
 
      }, 
 
      chartView: { 
 
       columns: [ 0, 1, 3] 
 
      } 
 
      } 
 
     } 
 
     }); 
 

 
     var chart = new google.visualization.ChartWrapper({ 
 
     chartType: 'ScatterChart', 
 
     containerId: 'chart', 
 
     options: { 
 
      filterColumnIndex: 0, 
 
      pointSize: 2, 
 
      chartArea: {height: '80%', 'width': '90%'}, 
 
      hAxis: {format: 'dd/MM/yyyy'}, 
 
      legend: {position: 'none'} 
 
     }, 
 
     view: { 
 
      columns: [ 0, 1, 3] 
 
     } 
 
     }); 
 

 
     dashboard = new google.visualization.Dashboard(document.getElementById('dashboard')); 
 
     dashboard.bind(control, chart); 
 
     dashboard.draw(response.getDataTable()); 
 
    }); 
 
    }, 
 
    packages: ['controls', 'corechart', 'table'] 
 
});
<script src="https://www.gstatic.com/charts/loader.js"></script> 
 
<div id="dashboard" style="width:1300px;overflow:scroll;"> 
 
    <div id="chart" style="position: relative; width: 1300px; height: 400px;"></div> 
 
    <div id="control" style="position: relative; width: 1300px; height: 100px;"></div> 
 
</div>

+0

あなたの助けをありがとうございました!!!私は確かに初心者です、私は学んでいます... – Lean