これは私のデータモデルです:
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
})
});
公式のハイチャート デモは次のとおりです: 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
]
};
});