1

基于此示例http://jsfiddle.net/EgzfS/2/我构建了一个带有向下钻取的堆叠条形图:

http://jsfiddle.net/uemit/9CJHq/

但是我遇到的问题是:我怎样才能让一些类别有一个向下钻取而其他的没有?

在示例中,每个类别都可以单击,它将显示由员工分隔的某一天的目标和销售额。但是,假设星期五我有当天的目标和销售额,但没有目标,也没有基于员工的销售额。我怎样才能将那一天也包含在图表中,但禁用对当天柱的点击?

events: {
    click: function () {
        var drilldown = this.drilldown;
        if (drilldown) { // drill down
            setChart([drilldown.name1, drilldown.name2], drilldown.categories, [drilldown.data1, drilldown.data2]);
        } else { // restore
            setChart([name1, name2], categories1, [data1, data2]);
        }
    }
}

非常感谢你的帮助,

厄姆

[更新]

感谢 Pawel,我现在可以正常工作了,这是更新后的示例:

http://jsfiddle.net/uemit/9CJHq/3/

4

1 回答 1

1

首先,您必须从没有数据的数据中删除向下钻取(很明显)。然后你可以在那里添加一些属性,比如空:

{
    y: 1355,
    empty: true
} 

然后在单击事件中,您可以添加检查,如果您想深入了解:

                        click: function () {
                            var drilldown = this.drilldown,
                                empty = this.empty;
                            if (drilldown) { // drill down
                                setChart([drilldown.name1, drilldown.name2], drilldown.categories, [drilldown.data1, drilldown.data2]);
                            } else if(empty) {
                                //do nothing
                                return ;
                            } else { // restore
                                setChart([name1, name2], categories1, [data1, data2]);
                            }
                        }

和工作示例:http: //jsfiddle.net/9CJHq/2/

于 2013-02-20T12:01:52.833 回答