Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript d3 sankey插件在链接过多时不绘图?_Javascript_D3.js_Sankey Diagram - Fatal编程技术网

Javascript d3 sankey插件在链接过多时不绘图?

Javascript d3 sankey插件在链接过多时不绘图?,javascript,d3.js,sankey-diagram,Javascript,D3.js,Sankey Diagram,我按照本教程制作了一个Sankey图表 当有太多的节点和链接时,它不会绘制任何内容,这不是圆的问题 它会说 我有349个节点和1776个链接 这是因为有太多的节点和链接 然后我尝试了最新的d3 Sankey插件, 但是它需要d3版本4,但是我仍然需要d3版本3来制作另一个图表,我已经在Sankey和d3 v4 js文件中将gloable.d3更改为gloable.d3v4 d3 sankey插件文件: (function (global, factory) { typeof exports

我按照本教程制作了一个Sankey图表

当有太多的节点和链接时,它不会绘制任何内容,这不是圆的问题

它会说

我有349个节点和1776个链接

这是因为有太多的节点和链接

然后我尝试了最新的d3 Sankey插件, 但是它需要d3版本4,但是我仍然需要d3版本3来制作另一个图表,我已经在Sankey和d3 v4 js文件中将gloable.d3更改为gloable.d3v4

d3 sankey插件文件:

(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('d3v4-array'), require('d3v4-collection'), require('d3v4-shape')) :
typeof define === 'function' && define.amd ? define(['exports', 'd3v4-array', 'd3v4-collection', 'd3v4-shape'], factory) :
(factory((global.d3v4 = global.d3v4 || {}),global.d3v4,global.d3v4,global.d3v4));
}(this, (function (exports,d3v4Array,d3v4Collection,d3v4Shape) { 'use strict';
d3版本4文件:

(function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n(t.d3v4=t.d3v4||{})})(this,function(t){"use strict"
图表为: 然后它向我显示了这个错误:

所以我的问题是,如果旧版Sankey无法解决问题,我如何解决这个问题, 那么,如何更改最新的Sankey插件文件以使用带有global.d3v4变量的d3版本4


请帮帮我!谢谢

这里有两个问题,一个是关于
d3.sankey.js的版本,另一个是关于不渲染

不渲染 我很惊讶它会使你的浏览器崩溃,但我并不惊讶你会出现控制台错误。看起来您为Sankey提供的可用空间不足以容纳所有节点/链接,因此其中一些节点/链接的高度为负值

这些是导致控制台错误的原因,增加图表的整体高度(即使它不是一次全部可见)应该可以修复控制台错误。至于崩溃的标签,你可能需要点击暂停几次,看看它是否卡在了一个循环中。我的猜测是,因为Sankey有一些非常密集的布局算法要运行,它可能会在那里花费很长时间

版本
据我所知,您使用两个不同版本的唯一可靠方法是在功能上确定它们的范围。通常,您可以通过一些模块化模式(例如,使用
导入“d3”
,然后使用网页包装)来完成此操作。这将允许您为需要不同版本
d3
的图表生成不同的捆绑包。感谢您的帮助。我发现了选项1(旧Sankey)的问题节点过多会导致问题。选项2(最新的Sankey),我没有设置svg的高度和宽度…@KreedzZhen很高兴你得到了排序。如果你觉得我帮了你足够多的忙,请随意接受作为答案。如果没有,我如何改进它?@lan你的答案是正确的,控制台错误是由图表高度和宽度引起的,我没有将其设置为svg。