2011-08-28 70 views
0

這只是一個快速的,但我無法找到我需要弄清楚這一點。任何幫助表示讚賞。用谷歌圖動態調整條形圖的大小

在谷歌圖表操場大約一半(線48我認爲)有一個寬度變量。它似乎默認設置爲像素。

是否有任何方法將其設置爲動態,以便將寬度延伸至頁面的全長?

或者我更好地找出與jscript的頁面的全寬,然後將其傳遞到寬度字段?

回答

1

您應該讀取頁面寬度並動態生成寬度值。圖形API非常糟糕(但真棒),只是做了它的告訴。

+0

如何去這(讓頁面寬度),或者我應該只是谷歌和使用任何似乎最好的任何意見? – OVERTONE

+0

如果你可以包含jQuery,你可以把它作爲一個內聯的javascript。編輯所以它適用於你的圖表:$('body')。append(「」) –

1

我不認爲你可以改變圖表的寬度或高度,因爲它使用了一個你無法訪問的iFrame,雖然你可以重新繪製圖表,如果頁面寬度/高度變化。

下面是我用來生成基於它包含div的寬度和/或高度的圖表的代碼。

此功能用戶Jquery.com的寬度()/身高()

<pre> 
// Draws Google Chart inside a pre-existing chart_id 
render_chart = function(chart_id, chartType, data, options) { 
    // Create and populate the data table. 
    var gData = google.visualization.arrayToDataTable(data); 

    // Special full width over-ride flag 
    if(options.width == '*') { 
     // Set chart width to it's containing Div's width'; 
     options.width = $('#'+chart_id).width(); 
     // Set height equal to width 
     if(options.height == 'width') options.height = options.width; 
    } 

    // Special full height over-ride flag 
    if(options.height == '*') { 
     // Set chart height to it's containing Div's width'; 
     options.height = $('#'+chart_id).height(); 
     // Set width equal to height 
     if(options.width == 'height') options.width = options.height; 
    } 

    // Create and draw the visualization. 
    new google.visualization[chartType](document.getElementById(chart_id)).draw(gData, options); 
} 
</pre>