2016-12-14 4 views
-1

これを行う方法は?すでに色の軸を使用していますHighchartsモジュールを使用する場合はhighchartで..ハイチャートのグラデーションの色は、マイナスバーからマイナスバーへ

horizontal bar with gradient.. red to gray for negative to positive values

+0

あなたは前処理の値に基づいて個々のバーの色を設定することができます。詳細を知らなくても、具体的に何をすべきかを言うのは難しいです。 – wergeld

答えて

0

、あなたはそのtweenColorsは中間色を見つけるために機能を使用することができます。

前述のとおり、データをループしてポイントの色を設定する必要があります。他のモジュールを使用したくない場合、中間色を見つける必要があります。答えはhereです。

var data = [100, 50, 20, -10], 
    min = Math.min.apply(null, data), 
    max = Math.max.apply(null, data), 
    total = max - min, 
    colorMin = new Highcharts.Color('rgb(255, 0, 0)'), 
    colorMax = new Highcharts.Color('white'), 
    tweenColors = Highcharts.ColorAxis.prototype.tweenColors; 

coloredData = data.map(value => { 
    var pos = (value - min)/total; 

    return { 
    y: value, 
    color: tweenColors(colorMin, colorMax, pos) 
    }; 
}); 

例:http://jsfiddle.net/oudktg0o/

関連する問題