Chart.getSelection() 无法与谷歌条形图正常工作

2024-04-20

drawBarChart = function (data) { 
//few statements goes here which sets options which are being passed to chartDraw i.e. t.options.chart.options

gChart = new google.visualization.BarChart(chartingPlace);
        //setTimeout(function () {
        // t.options.chart.options.height = ((t.chart.size.height) - 40) + "px";
        ////console.log(JSON.stringify(t.options.chart.options));

        //google.visualization.events.addListener(gChart, 'ready', function () {
            // grab a few details before redirecting
            google.visualization.events.addListener(gChart, 'select', function () {
                var selectedItem = gChart.getSelection()[0];
                console.log(gChart.getSelection());
                if (selectedItem) {
                    var topping = data.getValue(selectedItem.row, 0);
                    alert('The user selected ' + topping);
                }

           // });
        });
gChart.draw(data, t.options.chart.options);
}

我的应用程序有许多针对不同场景显示的图表。我的要求是,单击谷歌条形图中的一个条形图,然后打开一个与该条形图名称关联的新选项卡。为此,我尝试在条形图上使用直接“选择”事件,如下所示:

google.visualization.events.addListener(gChart, 'select', function () {
                    var selectedItem = gChart.getSelection()[0];
                    console.log(gChart.getSelection());
                    if (selectedItem) {
                        var topping = data.getValue(selectedItem.row, 0);
                        alert('The user selected ' + topping);
                    }
});

但我无法得到,这为 gChart.getSelection() 返回了空数组,因此我尝试了上面第一个代码中提到的“ready”事件的代码。 它有效,但输出不一致。有时它给出空数组,有时给出选定的对象。

我仍然无法找到为什么它会表现出这种行为

更多信息:我的应用程序有不同的选项卡,显示条形图、折线图、面积图、组合图的数量。 getSelection() 对于折线图效果很好,但无法获得与条形图一致的输出。

任何帮助都是值得赞赏的。

请不要将其标记为重复,因为我已经解决了其他类似的问题,但它们没有回答我的问题,我没有这种特权,所以我无法在回复中发表评论以要求更多澄清。 类似的问题在这里:谷歌可视化-条形图上的点击事件 isStacked: true https://stackoverflow.com/questions/20963158/google-visualization-click-event-on-barchart-isstacked-true

请帮忙!

先感谢您!

更新 :我无法从这里得到任何答案或回应。 这实在是非常令人失望。

Solution: 这就是我解决这个问题的方法: getSelection 对我不起作用,所以我尝试在栏文本上单击事件。通过单击事件,我可以获取栏上的文本,并将其链接到新选项卡。

如果有人需要代码解决方案,请告诉我。

谢谢。


请仔细阅读下面的代码片段,我已更正,或者您可以说以不同的方式组织代码。如果您需要进一步的解释,请告诉我。

google.visualization.events.addListener(googleChartObj, 'select', function () {
                var selectedBar = googleChartObj.getSelection();
                ////console.log(selectedBar);
                data.getRowLabel(selectedBar[0].row);
               /// for Bar charts, normally row-parameters are used
               /// manipulate on 'data' which refers to data-table to get desired results

            });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chart.getSelection() 无法与谷歌条形图正常工作 的相关文章