Javascript 线条颜色的If语句

Javascript 线条颜色的If语句,javascript,if-statement,colors,highcharts,Javascript,If Statement,Colors,Highcharts,请你帮忙。。 我目前正在制作一个图表,其中将有两行,一个总需要行(黑色)和一个总收集行(红色或绿色)。我想在代码中添加一个if语句,它将标识该行是绿色还是红色。当它高于所需的总黑线时应为绿色,当它低于总黑线时应为红色。在我的代码中,我已经为给定场景的情况做了准备 $(function () { $('#container').highcharts({ title: { text: 'Total Contribution' }, xAxis: {

请你帮忙。。 我目前正在制作一个图表,其中将有两行,一个总需要行(黑色)和一个总收集行(红色或绿色)。我想在代码中添加一个if语句,它将标识该行是绿色还是红色。当它高于所需的总黑线时应为绿色,当它低于总黑线时应为红色。在我的代码中,我已经为给定场景的情况做了准备

    $(function () {
$('#container').highcharts({
    title: {
        text: 'Total Contribution'
    },
    xAxis: {
        categories: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
    },
    labels: {
        items: [{
            html: 'Student VS Total contribution',
            style: {
                left: '-10px',
                top: '0px',
                color: (Highcharts.theme && Highcharts.theme.textColor) || 'black'
            }
        }]
    },
    series: [{
        type: 'column',
        name: 'John',
        tooltip: {
            pointFormat: '<b>{series.name}</b>: R{point.y:.0f}'
        },
        data: [3000, 2000, 1000, 3000, 4000, 6000, 7000, 8000, 7000, 9000, 6000, 9000]
    },

    {
        type: 'line',
        name: 'Total Needed',
        lineColor: Highcharts.getOptions().colors[1],
        tooltip: {
            pointFormat: '<b>{series.name}</b>: R{point.y:.0f}'
        },
        data: [1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 11000, 12000],
        marker: {
            lineWidth: 2,
            lineColor: Highcharts.getOptions().colors[1],
            fillColor: 'white'
        }

    }, {
        type: 'line',
        name: 'Total Collected - Good example',
        lineColor: Highcharts.getOptions().colors[6],
        tooltip: {
            pointFormat: '<b>{series.name}</b>: R{point.y:.0f}'
        },
        data: [3000, 5000, 7000, 7000, 9000, 10500, 11000, 12000, 12000, 13000, 14000, 14000],
        marker: {
            lineWidth: 2,
            lineColor: Highcharts.getOptions().colors[6],
            fillColor: 'white'
        }
    }, {
        type: 'line',
        name: 'Total Collected - BAD example', // The data in the columns does not match - it is an example
        lineColor: Highcharts.getOptions().colors[8],
        tooltip: {
            pointFormat: '<b>{series.name}</b>: R{point.y:.0f}'
        },
        data: [1000, 1000, 2000, 2000, 3000, 3000, 4500, 4500, 6000, 7000, 7000, 8000],
        marker: {
            lineWidth: 2,
            lineColor: Highcharts.getOptions().colors[8],
            fillColor: 'white'
        }
    },

    {
        type: 'pie',
        name: 'Contribution',
        tooltip: {
            pointFormat: '{series.name}: <b>{point.percentage:.2f}%</b>'
        },
        plotOptions: {
            pie: {
                allowPointSelect: true,
                cursor: 'pointer',
                dataLabels: {
                    enabled: true,
                    format: '<b>{point.name}</b>: {point.percentage:.0f} %',
                    style: {
                        color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
                    }
                }
            }
        },
        data: [{
            name: 'John',
            y: 25,
            color: Highcharts.getOptions().colors[0] // John's color
        }, {
            name: 'Total',
            y: 75,
            color: Highcharts.getOptions().colors[7] // Other's color
        }],
        center: [30, 45],
        size: 100,
        showInLegend: false,
        dataLabels: {
            enabled: false,
            format: '<b>{point.name}</b>: {point.percentage:.0f} %'
        }
    }]
});
  });
$(函数(){
$(“#容器”)。高图({
标题:{
正文:“捐款总额”
},
xAxis:{
类别:[‘一月’、‘二月’、‘三月’、‘四月’、‘五月’、‘六月’、‘七月’、‘八月’、‘九月’、‘十月’、‘十一月’、‘十二月’]
},
标签:{
项目:[{
html:'学生对总贡献',
风格:{
左:'-10px',
顶部:“0px”,
颜色:(Highcharts.theme&&Highcharts.theme.textColor)| |“黑色”
}
}]
},
系列:[{
键入:“列”,
姓名:'约翰',
工具提示:{
pointFormat:“{series.name}:R{point.y:.0f}”
},
数据:[3000,2000,1000,3000,4000,6000,7000,8000,7000,9000,6000,9000]
},
{
键入:“行”,
名称:'需要的总数',
lineColor:Highcharts.getOptions().Color[1],
工具提示:{
pointFormat:“{series.name}:R{point.y:.0f}”
},
数据:[1000,2000,3000,4000,5000,6000,7000,8000,9000,10000,11000,12000],
标记:{
线宽:2,
lineColor:Highcharts.getOptions().Color[1],
填充颜色:“白色”
}
}, {
键入:“行”,
名称:'收集的总数-好例子',
lineColor:Highcharts.getOptions().Color[6],
工具提示:{
pointFormat:“{series.name}:R{point.y:.0f}”
},
数据:[3000,5000,7000,7000,9000,10500,11000,12000,12000,13000,14000,14000],
标记:{
线宽:2,
lineColor:Highcharts.getOptions().Color[6],
填充颜色:“白色”
}
}, {
键入:“行”,
名称:'收集的总数-错误示例',//列中的数据不匹配-这是一个示例
lineColor:Highcharts.getOptions().Color[8],
工具提示:{
pointFormat:“{series.name}:R{point.y:.0f}”
},
数据:[1000,1000,2000,2000,3000,3000,4500,4500,6000,7000,7000,8000],
标记:{
线宽:2,
lineColor:Highcharts.getOptions().Color[8],
填充颜色:“白色”
}
},
{
键入“pie”,
名称:'贡献',
工具提示:{
pointFormat:“{series.name}:{point.percentage:.2f}%”
},
打印选项:{
馅饼:{
allowPointSelect:true,
光标:“指针”,
数据标签:{
启用:对,
格式:“{point.name}:{point.percentage:.0f}%”,
风格:{
颜色:(Highcharts.theme&&Highcharts.theme.ContractTextColor)| |“黑色”
}
}
}
},
数据:[{
姓名:'约翰',
y:25,
颜色:Highcharts.getOptions().colors[0]//约翰的颜色
}, {
名称:'总计',
y:75,
颜色:Highcharts.getOptions().colors[7]//其他人的颜色
}],
中间:[30,45],
尺码:100,
showInLegend:false,
数据标签:{
启用:false,
格式:'{point.name}:{point.percentage:.0f}%'
}
}]
});
});
另请参见此处:

例如,如果要使用每个系列的平均值进行比较,可以这样做:

1) 为数组中的每个系列定义数据

2) 计算“所需”系列的平均值

3) 将每个其他系列的平均值与该平均值进行比较,相应地定义每个系列的颜色

大致如下:

var requiredAvg = getAvg(requiredData);
var requiredColor = 'black';
var goodColor = getAvg(goodData) > requiredAvg ? 'blue' : 'red';
例如:


视情况而定-您的意思是在每种情况下都希望整条线为红色/绿色,还是希望在高于/低于所需值时改变线的颜色?如果希望更改,则会变得更加困难,您需要查看多个系列,并决定对于阈值以下的数据点,实际更改线条的哪个部分的颜色。如果红线始终为红色,只需预先处理数据并设置颜色即可。图表将用作预算编制工具。。。我认为,只要其中一行的总体数据处于所需总行上方或下方的状态,它就应该反映一种颜色?您需要确定如何定义“总体数据”处于上方或下方。完成后,首先对数据集进行计算,并将颜色定义为一个变量,然后在图表代码中调用。非常感谢,这绝对是正确的