2013-04-29 46 views
1

是否可以使用Google Charts開發門檻?谷歌圖表閾值?

我有一個5列的Google組合圖表。理論上,我想使用addRange格式化函數來改變第二列的顏色,如果它在50以下(基本上它是一個激勵工具,你的每日目標是做至少50個調用,如果你不這樣做,圖表會顯示如果你這樣做,那麼它就是默認的顏色)

這是我當前創建圖表的代碼,而不是格式。謝謝。

// Load the Visualization API and the piechart package. 
    google.load('visualization', '1.0', {'packages':['corechart']}); 

    // Set a callback to run when the Google Visualization API is loaded. 
    google.setOnLoadCallback(drawChart); 

    // Callback that creates and populates a data table, 
    // instantiates the pie chart, passes in the data and 
    // draws it. 
    function drawChart() { 

    var data = new google.visualization.DataTable(); 

    data.addColumn('string', 'Rep'); 
    data.addColumn('number', 'Yesterday'); 
    data.addColumn('number', 'Last 7'); 
    data.addColumn('number', 'Last 30'); 
    data.addColumn('number', 'The Bar'); 

    $("#data-table thead th").each(function(){ 

     var initials = $(this).text(); 

     var yesterday = parseInt($("." + initials + ".Yesterday").text()); 

     var seven = parseInt($("." + initials + ".seven").text()); 

     var thirty = parseInt($("." + initials + ".thirty").text()); 

     data.addRow([initials, yesterday, seven, thirty, 50]); 

    }); 

    // Set chart options 
    var title = $("#data-table caption").text(); 
    var options = {'title':title, 
       seriesType: 'bars', 
       series: {3: {type: "line"}}, 
       hAxis: {title: 'Rep'}, 
       vAxis: {title: 'Outbound Calls'} 

       }; 

    var formatter = new google.visualization.TableColorFormat(); 

    formatter.addRange(50,0, 'red', '#000'); 

    formatter.format(data, 1); 

    // Instantiate and draw our chart, passing in some options. 
    var chart = new google.visualization.ComboChart(document.getElementById('call-log')); 
    chart.draw(data, options); 

} 

回答

0

要做到這一點,最簡單的方法是做對你的數據進行快速檢查,並設置一個變量基於什麼列的值是兩個串聯的顏色。

所以目前您有下列選項代碼:

var options = {'title':title, 
       seriesType: 'bars', 
       series: {3: {type: "line"}}, 
       hAxis: {title: 'Rep'}, 
       vAxis: {title: 'Outbound Calls'} 

       }; 

如果你改變了這個輕微,可以使系列2五色基於變量:

var options = {'title':title, 
       seriesType: 'bars', 
       series: { 
          3: {type: "line"} 
          // set the color of column 2 (series #1) via variable 
          1: {color: colorvar} 
         }, 
       hAxis: {title: 'Rep'}, 
       vAxis: {title: 'Outbound Calls'} 

       }; 

然後,你可以創建一個javascript函數來確定第2列的值是什麼,以及顏色是否適當:

var colorvar = "#FF0000"; 
if (data.getValue(0,1) >= 50) 
    colorvar = "#000000"; 

這樣,如果值在50以下,它將被讀取。否則它會變成黑色。然後,當您創建選項時,它將使用此功能指定的任何顏色。這樣,您可以根據第2列中的值進行着色。