这是我的数据:
dataToDisplay=[[156,"2013-12-01","note one"],
[206,"2013-12-02","note two"],
[280,"2013-12-03","note three"],
[320,"2013-12-04","note four"],
[0,"2013-12-05",""]]
以下是制作折线图的代码:
chartData = new google.visualization.DataTable();
chartData.addColumn('number', 'Miles');
chartData.addColumn('string', 'Date');
chartData.addColumn({type:'string', role:'annotationText'});
chartData.addRows(dataToDisplay);
graphTitle = 'Mileage'
var options = {
title: graphTitle,
height:600
};
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(chartData, options);
和错误:
"Data column(s) for axis #0 cannot be of type string"
我不知道发生了什么事。哪一列是轴#0?
此外,是否有办法使用以下内容构建带注释的折线图:
var chartData = google.visualization.arrayToDataTable(dataArray);
如果是这样,dataArray将如何构建?
答案 0 :(得分:1)
LineChart
只接受字符串作为注释列或域列。第一列是域列,并且必须如此指定注释列。在您的情况下,“日期”列导致问题,因为它是第二列,因此应该是数据(“数字”类型)列或注释列。您没有将其指定为注释列,这就是您收到错误的原因。
您是否打算将日期作为注释或值?如果它们是值,则必须将它们放在第一列:
chartData = new google.visualization.DataTable();
chartData.addColumn('string', 'Date');
chartData.addColumn('number', 'Miles');
chartData.addColumn({type:'string', role:'annotation'});
为了使用“annotationText”数据角色,前面的列必须是“注释”角色列。 “注释”角色在关联数据点的图表上创建文本标签,“annotationText”角色创建工具提示,以显示用户将鼠标悬停在标签上。