【问题标题】:Change Corresponding Bar Stack Color更改相应的条形堆栈颜色
【发布时间】:2015-06-01 23:23:27
【问题描述】:

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

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

例如,通过查看以下data[0]data[1]最后一个对象,这些项目名称相同,我想为相应的条形堆栈赋予相同的颜色。 p>

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

【问题讨论】:

    标签: javascript kendo-ui kendo-chart


    【解决方案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

    【讨论】:

    • 非常感谢 machun,我只是担心,为什么图例颜色与您建议的 amswer 中的条形颜色不一致。我赞成你的回答,
    • 你能再看看你的数据源数据吗,使用这个 console.log(data.dataItem.fname);在颜色函数上,我注意到一些数据没有 fname,那么它也不会有颜色,还有一些数据是未定义的
    猜你喜欢
    • 1970-01-01
    • 2011-02-08
    • 2023-03-28
    • 2015-07-08
    • 2017-04-27
    • 1970-01-01
    • 2020-05-21
    • 2023-04-06
    • 1970-01-01
    相关资源
    最近更新 更多