Javascript C3.js“;未捕获错误:源数据在(1844)处缺少组件&引用;
我正在使用C3.js和Electron(AtomShell)制作一个用于数据可视化的桌面应用程序。我无法将数据输入C3。我有一个包含所有坐标的DataArray:DataAray=[[x1,y1],[x2,y2],[x3,y3],…]。 我使用以下代码将其分解为扩展数据数组和yData数组:Javascript C3.js“;未捕获错误:源数据在(1844)处缺少组件&引用;,javascript,node.js,plot,electron,c3.js,Javascript,Node.js,Plot,Electron,C3.js,我正在使用C3.js和Electron(AtomShell)制作一个用于数据可视化的桌面应用程序。我无法将数据输入C3。我有一个包含所有坐标的DataArray:DataAray=[[x1,y1],[x2,y2],[x3,y3],…]。 我使用以下代码将其分解为扩展数据数组和yData数组: xData = []; yData=[]; xData.push('data1_x'); yData.push('data1'); for (var i = 0; i < DataArray.leng
xData = [];
yData=[];
xData.push('data1_x');
yData.push('data1');
for (var i = 0; i < DataArray.length ; i++){
xData.push (DataArray[i][0]);
yData.push (DataArray[i][1]);
}
var chart = c3.generate({
bindto: '#chart',
data: {
xs: {
data1: 'data1_x',
},
columns: [
x,
y
],
type: 'scatter'
}
});
扩展数据=[];
yData=[];
扩展数据推送('data1_x');
yData.push('data1');
对于(var i=0;ifor (var i = 0; i < 843 ; i++)
for(变量i=0;i<843;i++)
然而,它确实绘制了图形。
我以前使用过Plotly,我曾经运行完全相同的代码为Plotly准备数据,它工作得很好。这里有什么问题?还有,有没有办法让C3忽略数据中的错误?例如,如果其中一个点上有一个空值,C3是否有办法绘制图形 我不知道是否有办法将C3配置为忽略空值或未定义的值。尝试忽略空值/未定义值,以便C3可以绘制图形
for (var i = 0; i < DataArray.length ; i++) {
// if the value is not undefined or null, push to array
if (DataArray[i][0] !== undefined && DataArray[i][0] !== null) {
xData.push (DataArray[i][0]);
} else {
// push 0 to signify no data
xData.push(0);
}
...
}
for(变量i=0;i
C3将忽略空值。但当值未定义时,将出现此错误。TonalLynx的答案会有用的。或者可以将未定义的值更改为null
for (var i = 0; i < DataArray.length ; i++) {
// if the value is undefined, push null to array
if (DataArray[i][0] === undefined) {
xData.push (null);
} else {
xData.push (DataArray[i][0]);
}
...
}
for(变量i=0;i
c3有一个内部功能可以帮助实现这一点
c3_chart_internal_fn.convertColumnsToData = function (columns) {
var new_rows = [], i, j, key;
for (i = 0; i < columns.length; i++) {
key = columns[i][0];
for (j = 1; j < columns[i].length; j++) {
if (isUndefined(new_rows[j - 1])) {
new_rows[j - 1] = {};
}
if (isUndefined(columns[i][j])) {
throw new Error("Source data is missing a component at (" + i + "," + j + ")!");
}
new_rows[j - 1][key] = columns[i][j];
}
}
return new_rows;
};
c3\u图表\u内部\u fn.convertColumnsToData=函数(列){
var new_rows=[],i,j,key;
对于(i=0;i