We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
源码地址:https://github.com/TBEDP/datavjs/blob/master/lib/charts/force.js
Force.prototype.setSource = function (table, map) { map = this.map(map); //this.net = json; if (table[0][0] === "node") { table = table.slice(1); } var nData = []; var lData = []; var isNode = true; var nodeNum; var that = this; table.forEach(function (d, i) { var value; if (isNode) { if (d[map.nodeId] === "link") { isNode = false; nodeNum = i + 1; } else { if (d[map.nodeId] === "") { throw new Error("ID can not be empty(line:" + (i + 1) + ")."); } value = that._toNum(d[map.nodeValue]); nData[i] = { name: d[map.nodeName], nodeValue: value }; if (i === 0) { that.nodeValueMin = value; that.nodeValueMax = value; } that.nodeValueMin = (value < that.nodeValueMin) ? value : that.nodeValueMin; that.nodeValueMax = (value > that.nodeValueMax) ? value : that.nodeValueMax; } } else { if (d[map.linkSource - 3] === "") { throw new Error("Source can not be empty(line:" + (i + 1) + ")."); } if (d[map.linkTarget - 3] === "") { throw new Error("Target can not be empty(line:" + (i + 1) + ")."); } value = that._toNum(d[map.linkValue - 3]); lData[i - nodeNum] = { source: that._toNum(d[map.linkSource - 3]), target: that._toNum(d[map.linkTarget - 3]), value: that._toNum(d[map.linkValue - 3]) }; if (i === nodeNum) { that.linkValueMin = value; that.linkValueMax = value; } that.linkValueMin = (value < that.linkValueMin) ? value : that.linkValueMin; that.linkValueMax = (value > that.linkValueMax) ? value : that.linkValueMax; } }); this.net.nodes = nData; this.net.links = lData; this.nodeValueMax++; this.linkValueMax++; };
这段代码中设置link的source和target的时候,应该根据数据的id来索引
lData[i - nodeNum] = { source: that._toNum(d[map.linkSource - 3]), target: that._toNum(d[map.linkTarget - 3]), value: that._toNum(d[map.linkValue - 3]) };
fixed后的代码如下:
Force.prototype.setSource = function (table, map) { map = this.map(map); //this.net = json; if (table[0][0] === "node") { table = table.slice(1); } var nData = [], lData = [], isNode = true, nodeNum, that = this, NUM = 3, // FIXED: 用数据的id索引nodes index = {}, source = map.linkSource - NUM, target = map.linkTarget - NUM, lValue = map.linkValue - NUM; table.forEach(function (d, i) { var value; if (isNode) { if (d[map.nodeId] === "link") { isNode = false; nodeNum = i + 1; } else { if (d[map.nodeId] === "") { throw new Error("ID can not be empty(line:" + (i + 1) + ")."); } value = +(d[map.nodeValue]); nData[i] = { name: d[map.nodeName], nodeValue: value }; if (i === 0) { that.nodeValueMin = value; that.nodeValueMax = value; } that.nodeValueMin = (value < that.nodeValueMin) ? value : that.nodeValueMin; that.nodeValueMax = (value > that.nodeValueMax) ? value : that.nodeValueMax; } } else { if (d[map.linkSource - 3] === "") { throw new Error("Source can not be empty(line:" + (i + 1) + ")."); } if (d[map.linkTarget - 3] === "") { throw new Error("Target can not be empty(line:" + (i + 1) + ")."); } value = +(d[map.linkValue - 3]); // FIXED: 用数据的id索引nodes index[d[map.id]] = i; lData[i - nodeNum] = { source: +(index[d[source]]), target: +(index[d[target]]), value: +(index[d[lValue]]) }; if (i === nodeNum) { that.linkValueMin = value; that.linkValueMax = value; } that.linkValueMin = (value < that.linkValueMin) ? value : that.linkValueMin; that.linkValueMax = (value > that.linkValueMax) ? value : that.linkValueMax; } }); this.net.nodes = nData; this.net.links = lData; this.nodeValueMax++; this.linkValueMax++; };
The text was updated successfully, but these errors were encountered:
提pull request吧
Sorry, something went wrong.
No branches or pull requests
源码地址:https://github.com/TBEDP/datavjs/blob/master/lib/charts/force.js
这段代码中设置link的source和target的时候,应该根据数据的id来索引
fixed后的代码如下:
The text was updated successfully, but these errors were encountered: