Google visualization getChart()返回null

Google visualization getChart()返回null,google-visualization,Google Visualization,我正在尝试在仪表板中实现可单击图表。用户将根据单击的饼图部分重定向到其他网页。但是,当我在ChartWrapper对象中使用getChart()时,chartObject为NULL。我可以从ChartWrapper中拉出DataTable 在代码中,我尝试在“选择”事件之前使用“就绪”事件,但仍然得到NULL。有什么建议吗 你可以试试这个代码 您的主要问题是,您只向每个图表传递1列数据。PieCharts期望有两列数据:1列字符串用于饼图切片标签,1列数字用于饼图切片值。您需要向每个图表添加第二

我正在尝试在仪表板中实现可单击图表。用户将根据单击的饼图部分重定向到其他网页。但是,当我在ChartWrapper对象中使用getChart()时,chartObject为NULL。我可以从ChartWrapper中拉出DataTable

在代码中,我尝试在“选择”事件之前使用“就绪”事件,但仍然得到NULL。有什么建议吗

你可以试试这个代码


您的主要问题是,您只向每个图表传递1列数据。PieCharts期望有两列数据:1列字符串用于饼图切片标签,1列数字用于饼图切片值。您需要向每个图表添加第二列数据

除此之外,还需要将图表代码移到
$(document).ready(function(){…})之外处理程序并加载API的版本1,而不是1.1(除非您有特定的原因加载发布候选版本)。通常,您的代码应按如下方式组织:

$(document).ready(function () {
    // do stuff on document ready
});
function drawVisualization () {
    // draw dashboard
}
google.load('visualization', '1', {packages: ['controls'], callback: drawVisualization});

我根据您的代码制作了一个小提琴,它可以工作:。您能用完整的javascript代码更新您的帖子吗,或者用一个JSFIDLE链接到一个演示它们问题的示例吗?我已经用我的完整代码更新了您的JSFIDLE。您可以尝试单击第三个图表。它返回null。新的JSFIDLE链接是什么?我更新了你的链接。jsfiddle.net/asgallant/hkj7gw当您单击“更新”或“分叉”时,它会为您的更改创建一个新的URL。如果你转到“我的小提琴”链接,它将不会有你的更改。每个饼图切片都需要一个值才能正确地绘制它。该值由第二列数据给出。您的数据有“内部”和“外部”审核类型,但它们没有值。“外部”应占馅饼的百分比是多少?如果您不提供数据,图表如何知道?图表在我的DataTable上计算表中显示的“外部”行数。从链接中可以看到,my PieChart能够通过只传递1列数据来显示“外部”事件的总数。我通过传递两列数据尝试了你的建议。它现在真的起作用了。我需要考虑如何重新组织DataTable的结构,以便它不会影响仪表板控件和饼图的完整性。这不是您想要的。您的数据有2个“外部”审核和1个“内部”审核,但柱状图显示了其中的1个。您需要使用一个分组函数()来获取每个组的计数,然后根据分组结果显示图表。由于还要连接控件,这就变得有点复杂,因为每次控件更改状态时都必须重新组合数据。
$(document).ready(function () {
    // do stuff on document ready
});
function drawVisualization () {
    // draw dashboard
}
google.load('visualization', '1', {packages: ['controls'], callback: drawVisualization});