【发布时间】:2016-01-11 18:00:51
【问题描述】:
我已经为这个问题苦苦挣扎了一段时间,而且似乎 google 多年来对 Google Charts API 进行了很多细微的更改,这使得找到答案变得更加困难我的图表不工作。
我只是想在一个页面上显示两个以上相同的图表类型(条形图)。就在今天,我找到了一个允许我一次显示 2 个图表的解决方案(链接:“Google Charts stops drawing after first chart”),但这只是一个小胜利,因为我确实需要显示 2 个以上的图表,而这个解决方案只是强制一个图表在另一个之前呈现。
这是我当前的代码:
Javascript
google.load('visualization', '1', {packages: ['corechart', 'line', 'bar']});
google.setOnLoadCallback(drawStuff);
function drawStuff() {
// Courses_Played Data
var data = new google.visualization.arrayToDataTable([
['', 'Number of Rounds Played'],
["Ken McDonald", 10],
["ASU Karsten", 8],
["TPC Scotts...", 7],
["Ahwatukee", 3],
['Other', 3]
]);
// Courses_played Options
var options = {
title: '',
width: 440,
height: 215,
legend: { position: 'none' },
axes: {x: {0: { side: 'bottom' }}},
bar: { groupWidth: "70%" },
colors: ['darkgreen'],
};
// Course_Scores Data
var data2 = new google.visualization.arrayToDataTable([
['', 'Number of Rounds Played'],
["TPC Scotts...", 81],
["ASU Karst...", 83],
["Ken McDonald", 87],
["Ahwatukee", 90],
]);
//Course_Scores Options
var options2 = {
title: '',
width: 440,
height: 215,
legend: { position: 'none' },
axes: {x: {0: { side: 'bottom' }}},
vAxis:{ viewWindow:{ min:60 }},
bar: { groupWidth: "70%" },
colors: ['darkgreen'],
};
var chart = new google.charts.Bar(document.getElementById('Courses_Played'));
google.visualization.events.addOneTimeListener(chart, 'ready', function(){
var chart2 = new google.charts.Bar(document.getElementById('Course_Scores'));
// Convert the Classic options to Material options.
chart2.draw(data2, google.charts.Bar.convertOptions(options2));
});
chart.draw(data, google.charts.Bar.convertOptions(options));
};
同样,这段代码目前有效,但这只是因为我使用了一个仅适用于两个图表的解决方案。问题似乎出在最后几行代码中,因为强制chart2 在第一个图表之前呈现是它工作的原因。我只是不知道我需要做什么来允许三个或更多图表。有没有办法强制任意数量的图表在另一个之前呈现?
【问题讨论】:
-
同一类型的多个材质图表存在错误,this answer可能帮助。材料图表是新的,仍处于测试阶段,我上次检查过。在
corechart包之外加载的任何图表都被视为 material 图表,例如line和bar... -
我不太明白你的问题。我确实理解在绘制另一个图表之前等待一个图表准备好是一个糟糕的举动,但是在没有与其他图表交互的情况下添加任意数量的图表有什么问题?将多个图表添加到同一页面时没有任何错误。
标签: javascript google-visualization