我正在与 Google Visualizations 合作构建一个仪表板,该仪表板将以图表、时间序列和表格形式显示许多不同的数据集合(为了完整起见,html 是由 Python 生成的,尽管我认为这没有任何意义解决我的问题)。我自己处理表格,它们工作正常,我还没有实现图表,尽管我为之前的迭代构建了稍微不同的图表。有了这个上下文,我的问题来自时间序列:页面成功显示了过滤器(即'Metric'和'Category'以及相关的下拉菜单),但不是折线图,并给出错误“一个或多个参与者未能绘制()。”。每次选择过滤器时,都会显示一个附加的相同错误。
这是我的(匿名)代码,以及相关的 html:
<div class="time" id="conttime"><div id="contlinetime"></div><div id="cont_met"></div><div id="cont_cat"></div></div>
<script type="text/javascript">
google.load('visualization', '1.1', {'packages':['corechart', 'controls']});
function drawVisualization() {var contMetFilter = new google.visualization.ControlWrapper({
'controlType': 'CategoryFilter',
'containerId':'cont_met',
'options': {
'filterColumnLabel': 'Metric',
'ui': {
'labelStacking': 'vertical',
'allowTyping': false,
'allowMultiple': false,
'allowNone' : false
}
}
});var contCatFilter = new google.visualization.ControlWrapper({
'controlType': 'CategoryFilter',
'containerId':'cont_cat',
'options': {
'filterColumnLabel': 'Category',
'ui': {
'labelStacking': 'vertical',
'allowTyping': false,
'allowMultiple': false,
'allowNone' : false,
}
}
}); var obj = [
[new Date(2013, 11, 12), 25651, 'Sample Metric #1', 'Sample Category #1'],
[new Date(2013, 11, 11), 25651, 'Sample Metric #1', 'Sample Category #1'],
[new Date(2013, 11, 10), 25651, 'Sample Metric #1', 'Sample Category #1'],
[new Date(2013, 11, 09), 25681, 'Sample Metric #1', 'Sample Category #1'],
[new Date(2013, 11, 08), 25681, 'Sample Metric #1', 'Sample Category #1'],
[new Date(2013, 11, 12), 55, 'Sample Metric #1', 'Sample Category #2'],
[new Date(2013, 11, 11), 55, 'Sample Metric #1', 'Sample Category #2'],
[new Date(2013, 11, 10), 55, 'Sample Metric #1', 'Sample Category #2'],
[new Date(2013, 11, 09), 55, 'Sample Metric #1', 'Sample Category #2'],
[new Date(2013, 11, 08), 55, 'Sample Metric #1', 'Sample Category #2'],
[new Date(2013, 11, 12), 5120, 'Sample Metric #1', 'Sample Category #3'],
[new Date(2013, 11, 11), 5120, 'Sample Metric #1', 'Sample Category #3'],
[new Date(2013, 11, 10), 5120, 'Sample Metric #1', 'Sample Category #3'],
[new Date(2013, 11, 09), 4961, 'Sample Metric #1', 'Sample Category #3'],
[new Date(2013, 11, 08), 4961, 'Sample Metric #1', 'Sample Category #3'],
[new Date(2013, 11, 12), 26389, 'Sample Metric #2', 'Sample Category #1'],
[new Date(2013, 11, 11), 26389, 'Sample Metric #2', 'Sample Category #1'],
[new Date(2013, 11, 10), 26389, 'Sample Metric #2', 'Sample Category #1'],
[new Date(2013, 11, 09), 26417, 'Sample Metric #2', 'Sample Category #1'],
[new Date(2013, 11, 08), 26417, 'Sample Metric #2', 'Sample Category #1'],
[new Date(2013, 11, 12), 55, 'Sample Metric #2', 'Sample Category #2'],
[new Date(2013, 11, 11), 55, 'Sample Metric #2', 'Sample Category #2'],
[new Date(2013, 11, 10), 55, 'Sample Metric #2', 'Sample Category #2'],
[new Date(2013, 11, 09), 55, 'Sample Metric #2', 'Sample Category #2'],
[new Date(2013, 11, 08), 55, 'Sample Metric #2', 'Sample Category #2'],
[new Date(2013, 11, 12), 5793, 'Sample Metric #2', 'Sample Category #3'],
[new Date(2013, 11, 11), 5793, 'Sample Metric #2', 'Sample Category #3'],
[new Date(2013, 11, 10), 5793, 'Sample Metric #2', 'Sample Category #3'],
[new Date(2013, 11, 09), 5565, 'Sample Metric #2', 'Sample Category #3'],
[new Date(2013, 11, 12), 119398, 'Sample Metric #3', 'Sample Category #1'],
[new Date(2013, 11, 11), 119398, 'Sample Metric #3', 'Sample Category #1'],
[new Date(2013, 11, 10), 119398, 'Sample Metric #3', 'Sample Category #1'],
[new Date(2013, 11, 09), 119505, 'Sample Metric #3', 'Sample Category #1'],
[new Date(2013, 11, 08), 119505, 'Sample Metric #3', 'Sample Category #1'],
[new Date(2013, 11, 12), 56, 'Sample Metric #3', 'Sample Category #2'],
[new Date(2013, 11, 11), 56, 'Sample Metric #3', 'Sample Category #2'],
[new Date(2013, 11, 10), 56, 'Sample Metric #3', 'Sample Category #2'],
[new Date(2013, 11, 09), 56, 'Sample Metric #3', 'Sample Category #2'],
[new Date(2013, 11, 08), 56, 'Sample Metric #3', 'Sample Category #2'],
[new Date(2013, 11, 12), 7360, 'Sample Metric #3', 'Sample Category #3'],
[new Date(2013, 11, 11), 7360, 'Sample Metric #3', 'Sample Category #3'],
[new Date(2013, 11, 10), 7360, 'Sample Metric #3', 'Sample Category #3'],
[new Date(2013, 11, 09), 7108, 'Sample Metric #3', 'Sample Category #3'],
[new Date(2013, 11, 08), 7108, 'Sample Metric #3', 'Sample Category #3']];
var data = new google.visualization.DataTable();
data.addColumn('date', 'Date');
data.addColumn('number', 'Count');
data.addColumn('string', 'Metric');
data.addColumn('string', 'Category');
data.addRows(obj);
var lineChart = new google.visualization.ChartWrapper({
chartType: 'LineChart',
containterId: 'contlinetime',
'view': {'columns': [0, 1]},
options: {
'chartArea': {'height': '80%', 'width': '80%'},
'hAxis': {'slantedText': false},
'curveType': "line",
'pointSize': 3,
'legend': {'position': 'none'}}});
new google.visualization.Dashboard(document.getElementById('conttime')).
bind([contMetFilter, contCatFilter], lineChart).
draw(data);
}
google.setOnLoadCallback(drawVisualization);
</script>
我查看了 stackOverflow 和 Google Groups 档案,发现其他人也遇到了这个问题,尽管据我所知,问题和解决方案与我所面临的不同。最后,除了似乎可能解决我的问题的选项之外,我还没有真正使用过其他选项,所以我现在并不特别关心这些图表的可读性,而是这些图表的实际创建。谢谢!