Highcharts - 如何在全局范围内为每种类型的图形设置渐变主题?

时间:2018-04-30 10:33:42

标签: javascript reactjs highcharts

我试图将全局选项设置为Highcharts,所以当我创建一个新图形时,它的样式与其他图形完全一样,我设法设置全局颜色数组替换原始图形,以及一种用于我所有图形的渐变。 现在我想为每种类型的图形(样条线,列,饼图,区域等)设置不同类型的渐变

有没有人知道如何继续?

(顺便说一下,我使用React,这就是为什么我必须调用Highcharts.Highcharts来访问对象)



import Highcharts from 'react-highcharts'

const colors = ['#3B86FF', '#77E5AA', '#093fb9', '#6d00f6', '#FF006E', '#FFBE0B', '#1EFFBC', '#ff8b12']
const gradients = ['#87B5FF', '#9AFFC9', '#0078ff', '#852cf5', '#FC3C8F', '#FFD41F', '#7CFFD8', '#FFB364']

export default Highcharts.Highcharts.setOptions({
  colors: Highcharts.Highcharts.map(colors, (color, i) => ({
    linearGradient: {
      x1: 0, x2: 0, y1: 0, y2: 1
    },
    stops: [
      [0, color],
      [1, gradients[i]]
    ]
  }))
})




1 个答案:

答案 0 :(得分:1)

您可以再次使用setOptions来实现所需的结果:

Highcharts.setOptions({
  plotOptions: {
    line: {
        //color: Highcharts.getOptions().colors[0] - by default
    },
    spline: {
        color: Highcharts.getOptions().colors[1]
    },      
    column: {
        color: Highcharts.getOptions().colors[2]
    }, 
    pie: {
        color: Highcharts.getOptions().colors[3]
    }
  }
});

plotOptions.{your series type}描述了给定类型的每个系列的默认选项。

现场演示: http://jsfiddle.net/BlackLabel/d68m2qq8/