使用阈值更改条形图的颜色

时间:2014-05-27 08:58:59

标签: javascript jquery jqplot

在Jqplot中,我只有一系列数据,但阈值为200.我需要更改颜色,如下所示。这怎么可能? series of data having threshold value

2 个答案:

答案 0 :(得分:1)

一种方法是定义根据数据值定义的颜色数组。

为此,您可以在绘制图表之前进行预处理。您需要迭代数据并根据阈值在颜色数组中添加红色或蓝色:

var data = [['Nissan', 4],['Porche', 6],['Acura', 2],['Aston Martin', 5],['Rolls Royce', 6]];
var colors = [];
var threshold = 5;
$.each(data, function(index, value){
    if(value[1] > threshold)
      colors.push("#FF0000");
    else
      colors.push("#0000FF");
});

请参阅工作示例here on jsfiddle

答案 1 :(得分:0)

(文档)$。就绪(函数(){

var data = [['Nissan', 460],['Porche', -260],['Acura', 690],['Aston Martin', 820],['Rolls Royce', 850]];
var colors = [];
var threshold = -200;
$.each(data, function(index, value){
    if(value[1] < threshold)
      colors.push("#FF0000");
    else
      colors.push("#0000FF");
});
plot = $.jqplot('chart1', [data], {
    title:'Bar Chart with Varying Colors',
    seriesColors: colors,
    seriesDefaults:{
        renderer:$.jqplot.BarRenderer,
        rendererOptions: {
            fillToZero: true,
            varyBarColor: true,
            animation: {speed: 2500},
            useNegativeColors: false
        }
    },
    axes:{
        xaxis:{
            renderer: $.jqplot.CategoryAxisRenderer
        }
    }
});

});