2

請幫助我如何在Windows重新調整大小時自動重新調整谷歌圖表的大小。在窗口中重新調整Google圖表的大小

謝謝

這裏是一些代碼..

<script type="text/javascript" src="https://www.google.com/jsapi"></script> 
    <script type="text/javascript"> 
     google.load("visualization", "1", {packages:["corechart"]}); 
     google.setOnLoadCallback(drawChart); 
     function drawChart() { 
      var data = google.visualization.arrayToDataTable([ 
       ['Day', 'Open ticket', 'Closed ticket'], 
       ['Day 1', 10, 400], 
       ['Day 2', 170, 460], 
       ['Day 3', 60, 1120], 
       ['Day 4', 30, 540], 
      ]); 
      var options = { 
       title: 'DAILY GRAPH', 
       hAxis: {title: 'NOVEMBER', titleTextStyle: {color: '#333'}}, 
       vAxis: {minValue: 0} 
      }; 
      var chart = new google.visualization.LineChart(document.getElementById('chart_div')); 
      chart.draw(data, options); 
     } 
    </script> 

回答

3

這裏有一種方法:

添加此事件處理程序:

window.onresize = drawChart; 

然後立足圖表的寬度和高度上窗戶寬度和高度的百分比:

var width = .4 * window.innerHeight; 
    var height = .4 * window.innerWidth; 

    var options = { 
     title: 'DAILY GRAPH', 
     width: width, 
     height: height, 
     hAxis: { title: 'NOVEMBER', titleTextStyle: { color: '#333' } }, 
     vAxis: { minValue: 0 } 
    }; 
+0

什麼是確切的地方我會我把window.onresize = drawChart;? – user3172075

3

可以具有widthheight百分比限定在head截面,例如:

<style> 
    #chart_div { 
     width: 80%; 
     height: 100%; 
    } 
</style> 

和窗口的大小調整添加事件偵聽器,以drawChart()方法的末尾:

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

    window.addEventListener('resize', function() { 
     chart.draw(data, options); 
    }, false); 
} 

example at jsbin

+0

其已在工作。順便說一句,有可能運行,即使沒有風格? – user3172075

+2

圖表的高度和寬度必須在圖表的選項或應用於容器div的樣式中定義(通過內聯樣式或CSS)。高度和寬度的圖表選項僅使用整數值 - 它們不能使用百分比 - 所以如果您不想對容器div進行樣式設置,則必須在每次繪製調用時更改傳遞給選項的值。 – asgallant

+0

好的,但是如果我想在圖表中刪除兩邊的空格,我該怎麼做? – user3172075

相關問題