2017-12-18 9 views
1

基本的には、いくつのシリーズがあるかによって、上位チャートのテーマの配色を変更することです。このようなことが達成できるか?このコードをテーマの中に入れるか、各チャートの中に入れるのですか?ハイチャート - シリーズ数に応じてカラースキームを設定する

var colors = []; 
var series = chart.series; 

if (series == 2) { 
    colors = ['blue', 'red']; 
} else if (series == 3) { 
    colors = ['blue', 'red', 'black']; 
} else if (series == 4) { 
    colors = ['blue', 'red', 'black', green]; 
} 

JSFiddle:http://jsfiddle.net/tbo2o4Lm/

答えて

0

それはあなたがこの操作の順序をたどるときに実行するのは簡単です:

  1. あなたのシリーズ
  2. は、カラー配列を調整し、テーマ
  3. は、チャートを作成し適用する定義

例コード

var series = [{ 
    data: [1, 2] 
}, { 
    data: [2, 3] 
}, { 
    data: [1, 4] 
}]; 

Highcharts.theme = { 
    colors: (function() { 
    var colors = ['red', 'blue', 'green', 'orange']; 
    return colors.length <= series.length ? colors : colors.slice(0, series.length); 
    })() 
} 

// Apply the theme 
Highcharts.setOptions(Highcharts.theme); 

var chart = Highcharts.chart('container', { 
    series: series 
}); 

ライブデモ:http://jsfiddle.net/kkulig/m2Lnh270/

関連する問題