有沒有辦法使用chart.load更新基於顏色陣列的顏色()?c3js - 更新圖表顏色與彩色陣列使用chart.load()
問題是,如果我刪除任何以前插入的列,然後插入另一個並重新加載圖表,則新顏色將成爲數組中的下一個顏色,而不是跟隨實際顏色數組序列。
例。的顏色陣列是[紅色,綠色,藍色,白色],然後我喂圖與3列的數據和它們與紅,綠和藍線正確地繪製,然後我刪除一列並重新加載圖表(所示的線的顏色是紅色和綠色),然後我用新數據插入一個新列,而不是用藍色(這是顏色數組中的第三個)繪製這個新行,它最終用數組中的下一個顏色繪製,白色。
Here's使用的代碼I'm:
I'm第一生成圖表與顏色的數組:使用Ajax更新圖表時
var colors= ['#1f77b4', '#aec7e8', '#ff7f0e', '#ffbb78', '#2ca02c', '#98df8a', '#d62728', '#ff9896', '#9467bd', '#c5b0d5', '#8c564b', '#c49c94', '#e377c2', '#f7b6d2', '#7f7f7f', '#c7c7c7', '#bcbd22', '#dbdb8d', '#17becf', '#9edae5']
var chart = c3.generate({
....
color: {
pattern: colors
}
....
});
然後:(插入或取出列)
chart.load({
columns: arr2,
unload: true,
done: function() {
},
});
arr2是一個將數據輸入到圖表的多維數組。
我曾嘗試插入:{模式:顏色}在這裏,但它doesn't工作。
嗯,我做了,但沒有任何東西似乎符合我的需求,特別是因爲我的專欄ID /名稱是dinamically生成的。無論如何感謝您的答案! – Art
編輯。也許如果有一種方法可以循環瀏覽chart.data.colors()中的列而不知道列的ID – Art
你的意思是像這樣的小提琴嗎? - > https://jsfiddle.net/qer2r5pv/1。它根據列順序和現有的模式數組構建數據顏色。我只是覺得它會很脆弱(例如嘗試刪除data1) – mgraham