这是我的数据模型:Highcharts - 自定义颜色应用于渐变
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中提取颜色。
有什么想法?非常感谢。
编辑,解决
放弃了:)。
我最终创建了颜色阵列,如高图演示中所述。
它运作良好。
// 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
]
};
});
“数据”实际上是复数。正确的用法是“数据是”而不是“数据”,单个数据就是“数据”。虽然我们从来不这样用。 – bcr
改进:) Thx。 – Jara
@Jara所以问题解决了? –