这是我的数据模型:
data = [{y: 123, color: "#FF7600"}, {y: 321, color: "#00FFE3"}, {y: 213,color: "#444444"}]
然后将该系列添加到饼图中:
$http({ method: 'GET', url: /pie-chart, params: {})
.success(function (data) {
chart.addSeries({
type: 'pie',
data: data
})
});
这是官方的highcharts演示:http
://www.highcharts.com/demo/pie-gradient
它循环数据,读取颜色,创建颜色数组并在绘制图表时使用此数组。
但我正在考虑避免从 JSON 中提取颜色的解决方案。
任何想法?非常感谢。
已编辑,已解决
放弃吧 :)。
我最终按照 highcharts 演示中的描述创建了颜色数组。
它运作良好。
// Get colors from received data, create color array,
var colors = [];
for (var i = 0; i < data[0].series.length; i++) {
colors.push(data[0].series[i].color);
// Delete original colors, so that new radialized are used
delete(data[i].color);
}
// Use color array and radialize each color
Highcharts.getOptions().colors = Highcharts.map(colors, function(color) {
return {
linearGradient: { x1: 0, y1: 0, x2: 1, y2: 0 },
stops: [
[0, color],
[1, Highcharts.Color(color).brighten(-0.3).get('rgb')] // darken
]
};
});