制作交互式Angular谷歌图表指令,用于整合气泡图

时间:2016-01-25 06:45:47

标签: javascript angularjs charts google-visualization

您好我正在尝试使用angular-google-chart指令版本0.1.0制作交互式谷歌图表(气泡图)。

图表渲染工作顺利,直到我想点击图表中的任何气泡触发外部事件。

我的Html

<div google-chart chart="chartObject" style="{{cssStyle}}" custom-select="handleSelect"></div>

JS

 $scope.handleSelect=function(selection){
                console.log(selection);
            };

            $scope.chartObject = {};
            $scope.chartObject.type = "BubbleChart";
            $scope.chartObject.displayed = true;
            $scope.chartObject.data = {
                                    "cols": [{
                                        "id": "xx",
                                        "label": "xx",
                                        "type": "xx",
                                        "p": {}
                                    }, {
                                        "id": "xx",
                                        "label": "xx",
                                        "type": "number",
                                        "p": {}
                                    }, {
                                        "id": "xx",
                                        "label": "xxx",
                                        "type": "number",
                                        "p": {}
                                    }, {
                                        "id": "",
                                        "label": "",
                                        "type": "number",
                                        "p": {}
                                    }],
                                    "rows": $scope.data
                                };
                $scope.chartObject.options = {
                                            "chartArea": {
                                                top: 10,
                                                bottom: 0,
                                                width: '82%',
                                                height: '85%'
                                            },
                                            "isStacked": "false",
                                            "height": 280,
                                            "fill": 1,
                                            "displayExactValues": true,
                                            "colorAxis": {
                                                minValue: 0,
                                                colors: ['#ff0000', '#ff5300', '#ff8900', '#ffb800', '#ffd600', '#ffe800', '#beee07', '#8edc0c', '#58ce34', '#22ac19']
                                            },
                                            "vAxis": {
                                                "title": "Support Level",
                                                "minValue": 0,
                                                "maxValue": $scope.yaxis_value,
                                                "viewWindowMode": "pretty",
                                                "gridlines": {
                                                    "count": 5
                                                },
                                                "gridlines.color": "#D3D3D3"
                                            },

                                            "hAxis": {
                                                "title": "No. Of Incident",
                                                "maxValue": $scope.xaxis_value,
                                                "gridlines": {
                                                    "count": 4
                                                },
                                                "gridlines.color": "#D3D3D3"
                                            },
                                        };
                $scope.chartObject.formatters = {};
            });

我的问题是当我点击任何气泡图时如何获得我通过图表的确切行值或值。

参考链接我使用过:     http://embed.plnkr.co/lOXTg5XRggwdctUedvfl/preview

但它仍然没有给我正确的价值,特别是在连续点击泡泡时。

感谢任何帮助

2 个答案:

答案 0 :(得分:2)

我还没有找到任何证据表明ng-google-chart.js库包含选择实施方面的任何问题。

以下示例演示了如何获取所选值:

  $scope.seriesSelected = function (selectedItem) {

      var chartData = $scope.myChart.data;
      var value = chartData.rows[selectedItem.row].c[selectedItem.column].v; //value
      var formattedValue = chartData.rows[selectedItem.row].c[selectedItem.column].f; //formatted value
      console.log(value + ":" + formattedValue);
  };

Demo (Codepen)

另一方面,我必须提到您使用的是而不是angular-google-chart library的最新版本。

由于已进行了一些更改,以下示例演示了如何在最新版本中绑定select事件

<div google-chart chart="myChart" agc-on-select="seriesSelected(selectedItem)"></div>

Demo (Codepen)

答案 1 :(得分:1)

示例链接中的div定义与问题......

存在一些差异

从链接......

<div google-chart chart="myChart" on-select="seriesSelected(selectedItem)">
</div>

从问题(没有样式attr)......

<div google-chart chart="chartObject" custom-select="handleSelect">
</div>

为什么custom-select?尝试这样定义?

<div google-chart chart="chartObject" on-select="handleSelect(selection)">
</div>