我使用此代码生成图表。我必须将数据推入函数中的数组。然后,我将其传递给draw函数。但是当我这样做时,我得到了这个错误Data column(s) for axis #0 cannot be of type string
。
知道是什么问题吗?
function setData(records) {
$("#result").show();
var chartData = [];
chartData.push(['A', 'B', 'C', 'D']);
// A SIMPLE FOR EACH LOOP STARTS
chartData.push([
X,Y,P,Q
]);
//FOR EACH ENDS
drawVisualization(chartData);
}
google.charts.load('current', { 'packages': ['corechart'] });
function drawVisualization(chartData) {
var data = google.visualization.arrayToDataTable([
chartData
]);
var options = {
title: 'Monthly Coffee Production by Country',
vAxis: { title: 'Measure' },
hAxis: { title: Row },
seriesType: 'bars',
series: { 5: { type: 'line' } }
};
var chart = new google.visualization.ComboChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
最佳答案
ComboChart的data format仅允许第一列(x轴)中的字符串值
除非它用于特殊的role,例如工具提示或注释
因此,这必须表示要馈入数组的数据包含字符串值,
第一列之后
没有数据样本,很难确定
但是,对于任何应为数字的列,
使用parseFloat
或parseInt
,具体取决于数据中数字的类型
如果所有列均应为数字,
加载时尝试以下代码片段...
var chartData = [];
chartData.push(['A', 'B', 'C', 'D']);
chartData.push([
parseFloat(X),
parseFloat(Y),
parseFloat(P),
parseFloat(Q)
]);
关于javascript - Google图表错误:数据列不能为字符串类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46522794/