2013-05-10 56 views
1

是否有可能將數據綁定在谷歌圖表API特定的顏色...谷歌圖表自定義顏色綁定

假設我有2餅圖作爲FIDDLE .. 我想將數據綁定到特定的顏色 -

比如 - 吃應始終是紅色的,SLEEP應始終在所有圖表綠色...

,如果一個特定的項目不會出現任何特定圖表則對應缺失值的顏色不應該出現在該圖表中...

我試圖

slices: [{color: 'black', {}, {}, {color: 'red'}] 

以及

slices: {0: {color: 'black'}, 3: {color: 'red'}} 

,但無法處理缺失值....

Fiddle得到什麼,我想一個清晰的思路實現here ...

回答

1

設置您想要用於每個類別的顏色數組。您可以根據餅圖中的內容填寫一組顏色以用於當前所繪製的餅圖,循環顯示每個項目並添加相關顏色。我在你的JSfiddle中設置它。我使用了通用顏色,但是你可以使用任何你想要的十六進制顏色。我沒有說明類別沒有相關顏色的情況,因此您需要檢查是否可能是問題。

colors = {'Work':'blue', 
     'Eat':'red', 
     'Commute':'yellow', 
     'Watch TV':'green', 
     'Sleep':'purple',}; 

function colorsArray(data){ 
    var array = []; 
    for (var i=0;i<data.length;i++){ 
     array.push(colors[data[i]['c'][0]['v']]); 
    } 
    console.log(array) 
    return array 
} 

你可以看看這裏的小提琴:http://jsfiddle.net/Qquse/130/

+0

解決方案已停止工作...... 這是了一段相當不錯的.. 但現在的解決方案崩潰.. 我相信,它不能夠計算data.length – 2013-05-16 03:57:40

+0

JavaScript運行時錯誤:無法獲取未定義或空引用的屬性「長度」 – 2013-05-16 04:31:23

+0

我不知道爲什麼,但由Google創建的數據對象更改,快速修復將是改變說 顏色的線: colorsArray(data.D')爲顏色:colorsArray(data.K)。 我不知道這是否會再次發生,甚至是經常發生,我會看看代碼,看看它們是否是一種更好的方式,使它更加靈活,以便它不會基於Google可能會改變的事情而中斷。 – 2013-05-16 17:27:26