2015-12-16 104 views
1

我創建了一個包含約10個項目的簡單餅圖(使用C3.js和D3.js)。現在,在第二個可視化(表格)中,我想知道每個項目的顏色,也可以在表格中表示它們。用C3.js查詢圖表

是否可以通過查詢圖表以獲取該物品的名稱和顏色

我知道我可以手動hardcode colors的項目,只是使用相同的顏色。然而,這不適用於我的情況,因爲餅圖中的項目差異很大(我還不知道它們,因爲它取決於用戶),因此我的問題。

+2

它可能是使用[D3的色階]之一(https://github.com/mbostock/d3/wiki/Ordinal-Scales#category10)。 –

+0

非常好的一點,謝謝。可能是'd3.scale.category10',因爲我將圖表限制爲10個項目。問題是,它似乎隨機使用這些顏色,而不是總是相同的順序... – casaout

+0

第一種顏色將被映射到第一個數據等等。它應該是關於數據順序的確定性。 –

回答

1

快速查看源代碼顯示你是正確的,這是一個category10()

columns: [ 
    ['data1', 30, 200, 100, 400, 150, 250], //<-- data1 is id 
    ['data2', 130, 340, 200, 500, 250, 350] 
] 

您可以檢查它們的使用:

而且它用的「數據ID」的關鍵,這似乎是第一個「列」在它的數據輸入格式檢索它們

> chart.internal.color('data1') 
    "#1f77b4" 
> chart.internal.color('data2') 
    "#ff7f0e" 
+0

很酷,謝謝! – casaout