2015-05-29 66 views
0

我使用dygraphs.js來渲染一些情節。在一個繪圖中使用多重系列,這些系列將獲得不同的顏色,這些顏色都很好地融合在一起(因此dygraph具有很好的調色板)。但是,如果我使用多個圖,每個圖都具有相同的顏色(只有一個系列)。多個地塊自動不同的顏色?

我想爲每個plot使用dygraphs調色板,以便顏色與自動調色板相同 - 有沒有辦法訪問dygraphs調色板,最好是使用整數索引,因爲我沒有事先知道會有多少地塊?

E.g.有4個圖,我想用dygraph中的4個第一顏色,前10個10個,如同一個情節與多個系列。

回答

1

定義標準調色板的代碼是here。這裏的要點是:

var colors = []; 
var half = Math.ceil(numSeries/2); 
for (var i = 0; i < numSeries; i++) { 
    // alternate colors for high contrast. 
    var idx = i % 2 ? (half + (i + 1)/ 2) : Math.ceil((i + 1)/2); 
    var hue = (1.0 * idx/(1 + numSeries)); 
    colorStr = Dygraph.hsvToRGB(hue, sat, val); 
    colors.push(colorStr); 
} 

最好的辦法是創建一個顏色數組,並使用colors選項來設置一個不同的每個情節。

+0

謝謝,這工作正常 - 它只是不覺得「完美」的方式,當dygraphs有一天甚至有更好的自動顏色,它不會自動使用它們。是的,奢侈品問題:)。再加上使用顏色選項來繪製多個系列的圖時會變得更加複雜 - 然後我必須爲每個系列創建適當的顏色。當然,沒有什麼大不了的,但是因爲dygraph可以自動創建漂亮的顏色,所以告訴圖表可能會很好:嘿,從不同的顏色開始,但表現相同。好,非常感謝,這個解決方案效果很好! – lakerz