如何获取groupsColumn图表中的当前Click对象值?

时间:2015-12-08 11:53:08

标签: pykcharts

enter image description here

我设置了“click_enable”:“是” in groupedColumnchart config& 处理点击甚至如下。我需要X轴名称(EAST,NORTH等..) 基于点击。 示例数据JSON Like。

dataObj.data=  [{
            "x": "NORTH",
            "y": 10,
            "group": "above -10",
            "tooltip": "<table class='PykCharts'><tr><th>North above -10</th></tr><tr><td>-10</td></tr></table>"
        }, {
            "x": "NORTH",
            "y": 12,
            "group": "-10.1 to -13.9",
            "tooltip": "<table class='PykCharts'><tr><th>North -10.1 to -13.9</th></tr><tr><td>-12</td></tr></table>"
        }, {
            "x": "NORTH",
            "y": 16.4,
            "group": "-14 to -19.9",
            "tooltip": "<table class='PykCharts'><tr><th>North -14 to -19.9</th></tr><tr><td>-16.4</td></tr></table>"
        }, {
            "x": "NORTH",
            "y": 25,
            "group": "-20 & below",
            "tooltip": "<table class='PykCharts'><tr><th>North -20 & below</th></tr><tr><td>-25</td></tr></table>"
        }]
    var custom = new PykCharts.multiD.groupedColumn(dataObj);
                    custom.addEvents=function(id){
                        console.log(id);
                        console.log($(this)[0]);;

                    }

1 个答案:

答案 0 :(得分:0)

我找到了另一种方式..你可以做下面的事情

您需要在工具提示中存储组名称 对于我的它的SV ..(注意:你甚至可以隐藏在sapn中)

"<table class='PykCharts'><tr><th>SV -14 to -19.9</th></tr><tr><td>-14.8</td></tr></table>"     

添加您的JS代码

  custom.addEvents = function (value) {
          var grouparr;
            d3.selectAll("#" + yourdivID + "_svg rect")
                   .attr("fill-opacity", function (d, i) {
                       if (this.getAttribute('fill-opacity') == 1 && d.name == value) {
                           grouparr = d;
                      }
                 });

            var x = grouparr.tooltip;
            var tooltiptext = $(x).find("th").text();
            var res = tooltiptext.split(" ");
            var hg = $.trim(res[0]);
            console.log("hg your group name=="+hg)
            }