HighCharts-设置配色方案选项,具体取决于系列数量



基本上我想尝试做的是根据有多少个系列更改高图的配色方案。这样的事情可以完成吗?我应该将此代码放入主题或每个图表中吗?

例如。

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/

遵循此操作顺序时很容易做到:

  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/

最新更新