2016-03-21 84 views
1

下面是我想要做的一个片段,基本上我有2个值,我正在喂入图中我想根据比较更改列的颜色。基本上,如果价值大于目标是绿色,否则是蓝色。但是每列的目标值是不同的。Highcharts基于数据比较的动态列颜色

column: { 
       zones: [{ 
        value: data[1] >= data[2], 
        color: 'green' 
       }, { 
        color: 'blue' 
       }] 
      } 
+1

看来你想要改变点 - 列的颜色,基于点的值 - 您可以在数据中为每个点设置颜色。解析数据以包含有关颜色的信息并使用该信息代替区域。 –

回答

0

区域是一个数据数组,因此计算不会在程序上发生。你需要计算阵列外部,例如创建一个函数来完成计算并调用返回颜色的函数:

column: { 
      zones: [{ 
       color: getComputedColor(data) 
      }, { 
       color: 'blue' 
      }] 
     } 
.... 

function getComputedColor(data) 
{ if (data[1] >= data[2]) 
     return "green"; 
    return "blue"; 
}