Javascript 谷歌饼图颜色取决于值

Javascript 谷歌饼图颜色取决于值,javascript,google-visualization,Javascript,Google Visualization,我有一个图表,其中我只计算两个类别的值的数量 我想要的是将具有最大值的类别涂成绿色,将具有最小值的类别涂成蓝色 从这两个数量值中,我想确定循环内部具有较高值的值。因此,将在饼图中显示该值的绿色,在本例中,可以在选项部分的切片处选择0或1 到目前为止,这是我的代码: <script type="text/javascript"> google.charts.load('current', {'packages':['corechart']}); google.chart

我有一个图表,其中我只计算两个类别的值的数量

我想要的是将具有最大值的类别涂成绿色,将具有最小值的类别涂成蓝色

从这两个数量值中,我想确定循环内部具有较高值的值。因此,将在饼图中显示该值的绿色,在本例中,可以在选项部分的
切片处选择0或1

到目前为止,这是我的代码:

<script type="text/javascript">
    google.charts.load('current', {'packages':['corechart']});
    google.charts.setOnLoadCallback(interinstituctionals_quantity);
    function interinstituctionals_quantity(){/*Quantity de proyectos interinstitucionales del total de los proyectos vigentes*/
            var data = new google.visualization.DataTable();
            var interinstituctionals_quantity = {{interinstituctionals_quantity|json_encode|raw}};
            var projectstotal = 0;

            /****This is the array I get from the database:
              ['¿Interinstitutional?', 'Quantity'],
              ['yes', 70],
              ['no', 166],
            ****/

            data.addColumn('string', '¿Interinstitucional?');
            data.addColumn('number', 'Quantity');


            $.each(interinstituctionals_quantity, function(index, value){
                projectstotal += value.Quantity;/*Adding total of the quantity gotten from query*/
                /*HOW can I determine inside this loop which of the two values has the highest value? And what if they're the same?*/
                data.addRow([value.Interinstitucional,value.Quantity]);
            });

            var optionMax=1;
            var optionMin=0;


            var options = {
                title: 'Number of interinstitutional projects (total: '+projectstotal+')',
                backgroundColor: { fill:'transparent'},
                height: 500,
                is3D: true,
                slices: {
                    0: { color: 'blue',offset: 0.5 },/*THIS TURNED OUT TO BE MAX AND SHOULD HAVE THESE OPTIONS*/
                    1: { color: 'green' }/*THIS TURNED OUT TO BE MIN AND SHOULD HAVE THESE OPTIONS*/
                }
                //width: 900,
            };

            var chart = new google.visualization.PieChart(document.getElementById('interinstituctionals_quantity_div'));

            chart.draw(data, options);
            function resizeHandler () {
                chart.draw(data, options);
            }
            if (window.addEventListener) {
                window.addEventListener('resize', resizeHandler, false);
            }
            else if (window.attachEvent) {
                window.attachEvent('onresize', resizeHandler);
            }
        }
</script>

load('current',{'packages':['corechart']});
google.charts.setOnLoadCallback(机构间数量);
功能机构间数量(){/*机构间项目数量*/
var data=new google.visualization.DataTable();
var interinstitutionals|u quantity={{{interinstitutionals|u quantity}json|u encode | raw};
var projectstotal=0;
/****这是我从数据库中获得的数组:
[‘机构间?’,‘数量’],
[yes',70],
[no',166],
****/
data.addColumn('string','Interinstitucional?');
data.addColumn('number','Quantity');
$每个(机构间)\数量、功能(索引、值){
projectstotal+=value.Quantity;/*添加从查询中获取的数量的总和*/
/*我如何在这个循环中确定这两个值中哪一个的值最高?如果它们相同呢*/
data.addRow([value.interinstitutional,value.Quantity]);
});
var optionMax=1;
var optionMin=0;
变量选项={
标题:“机构间项目数量(总数:“+projectstotal+”),
背景颜色:{fill:'transparent'},
身高:500,
is3D:是的,
切片:{
0:{color:'blue',offset:0.5},/*这是最大值,应该有这些选项*/
1:{color:'green'}/*这原来是MIN,应该有这些选项*/
}
//宽度:900,
};
var chart=new google.visualization.PieChart(document.getElementById('interinstitutionals\u quantity\u div');
图表绘制(数据、选项);
函数resizeHandler(){
图表绘制(数据、选项);
}
if(window.addEventListener){
addEventListener('resize',resizeHandler,false);
}
else if(窗口附件){
attachEvent('onresize',resizeHandler);
}
}
我如何在这个循环中确定这两个值中哪一个的值最高?如果它们是一样的呢?
我怎样才能做到这一点呢?

像这样的事情应该会奏效

// assumes values will always exist and be positive
var maxAmount = -1;
var maxIndex = -1;
var areEqual = false;
$.each(interinstituctionals_quantity, function(index, value){
    projectstotal += value.Quantity;/*Adding total of the quantity gotten from query*/
    /*HOW can I determine inside this loop which of the two values has the highest value? And what if they're the same?*/
    if (value.Quantity > maxAmount) {
      maxAmount = value.Quantity;
      maxIndex = index;
    } else if (value.Quantity === maxAmount) {
      areEqual = true;
    }
    data.addRow([value.Interinstitucional,value.Quantity]);
});