如何在單個圖表中爲所有系列設置相同顏色?我的圖表中有很多系列,並且可能不便於單獨設置每個系列的顏色。在同一張圖表中爲所有系列使用單一顏色
比方說,我希望我的圖表系列全部爲red
,我該怎麼做,而不必每次都明確設置series.color
到red
?
如何在單個圖表中爲所有系列設置相同顏色?我的圖表中有很多系列,並且可能不便於單獨設置每個系列的顏色。在同一張圖表中爲所有系列使用單一顏色
比方說,我希望我的圖表系列全部爲red
,我該怎麼做,而不必每次都明確設置series.color
到red
?
你可以通過Jeremy提到的方式,通過設置每個圖表的顏色選項。或者你可以按如下
Highcharts.setOptions({
colors:['red','green','blue']
});
這種方法的好處是,你只需要調用一次此之前,創建任何圖表覆蓋默認的顏色排列。之後的所有圖表都將使用這些顏色,而不需要在每個圖表上設置此選項。大多數網站有一個common.js或一般加載任何其他自定義腳本之前類似的JavaScript文件,你只需要將此代碼添加到該文件,忘了顏色之後
更新
由於你希望所有系列相同的圖表中是單色的,你可以完全覆蓋的顏色陣列,使其具有隻有一種顏色
Highcharts.getOptions().colors = ['red'];
此方法將離開導航(藍色迷你圖在底部Highstock )是默認的藍色,這必須以與選項不同的方式重寫。
P.S.上述方法是不重寫默認選項的推薦的方式,正確的方法是做setOptions()
,但是這將造成一個合併與現有的默認值,並因此陣列尺寸將超過1
替代地,你可以重寫getColor方法如下,總是返回你選擇的顏色。同樣的,你需要在你面前做這個調用圖的構造
Highcharts.Series.prototype.getColor=function(){
this.color= '#f00';
}
我不想聲明:colors:['red','red','red','red','red',(200 times)] ;.我問我是否可以放入一些代碼行colorforall:['red'];並停下來。是的,我在一張圖表中有200個系列和更多。 – tic 2013-02-24 08:37:29
@Tic Ohk,所以你想讓圖表中的所有系列都具有相同的顏色? – 2013-02-24 10:53:20
@tic檢查更新的答案 – 2013-02-24 11:03:45
您可以定義一個十六進制顏色數組,然後在圖表聲明中使用該數組。圖表對象中的所有系列都將從這組顏色中拉出。
如果您有多個圖表聲明,則可以使用相同的數組。
這裏的Highcharts樣本之一,自定義顏色的數組添加(run with jsfiddle):
$(function() {
var myColors = [
'#ff0000',
'#ff6600',
'#ffcc00'
];
var chart;
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'bar'
},
colors: myColors,
title: {
text: 'Stacked bar chart'
},
xAxis: {
categories: ['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas']
},
yAxis: {
min: 0,
title: {
text: 'Total fruit consumption'
}
},
legend: {
backgroundColor: '#FFFFFF',
reversed: true
},
tooltip: {
formatter: function() {
return ''+
this.series.name +': '+ this.y +'';
}
},
plotOptions: {
series: {
stacking: 'normal'
}
},
series: [{
name: 'John',
data: [5, 3, 4, 7, 2]
}, {
name: 'Jane',
data: [2, 2, 3, 2, 1]
}, {
name: 'Joe',
data: [3, 4, 4, 2, 5]
}]
});
});
});
希望這有助於!
我不想聲明:var mycolors = ['red','red','red','red','red',(200 times)] ;.我問我是否可以加入一些代碼行colorforall:'red';並停下來。是的,我在一張圖表中有200個系列和更多。 – tic 2013-02-24 08:32:21
我不明白這個問題是怎麼來的關閉,顯而易見的是,OP希望有相同顏色的所有線條和沒有按不想單獨設置每個系列的顏色,他寧願通過單一設置來完成。也許句子'我的圖表中有很多系列,並且可能不便於爲每個系列設置相同的顏色'會讓某人感到困惑,但是如果是這種情況,則應該通知OP給出正確的解釋。 – 2016-04-12 08:46:19