更改相应的条形图堆栈颜色

时间:2015-06-01 23:23:28

标签: javascript kendo-ui kendo-chart

目前我有以下实施方案,假设所有项目都不同;换句话说,数据集中没有共同/分组对象。它工作正常。

但是,我想知道如果数据集中有两个常见/分组对象,有没有办法更改相应的条形颜色?

例如,通过查看以下data[0]data[1]最后一个对象,这些项目名称相同,我想为相应的栏提供相同的颜色叠加。

data[0]=[{"value":29, "series":"item1", "category":"Men", "name":"HY"},{"value":44, "series":"item2", "category":"Men","name":"NY"}]

data[1]=[{"value":16, "series":"item3", "category":"Women", "name":"RY"},{"value":23, "series":"item5", "category":"Women", "name":"NY"}]

JSfiddle

1 个答案:

答案 0 :(得分:1)

您需要添加color: function(data){....},然后才能使用双向

通过添加一些条件,如此颜色函数,并参考jsfiddle

series: [{
            type: "column",
            field: "value",
            stack: true,
            name: "#= group.value #",
            highlight: {
                visible: false,
            },
            color: function (data) {

                //check if the item fname is NY
                if (data.dataItem && data.dataItem.fname == "NY") {
                    //give the color you wanted
                    return "#CC6699";
                }

            }
        }],

或者如果您愿意,可以将颜色添加到数据中,如下所示:

data[0] = [{
    "value": 29,
    "series": "item1",
    "category": "Men",
    "fname": "NY",
    "color" : "#CC6699"
}, {
    "value": 44,
    "series": "item2",
    "category": "Men",
    "fname": "GY",
    "color" : "#99FF99"
}]

和颜色函数return data.dataItem.color