问题标签 [thejit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1534 浏览

javascript - 如何在 InfoVis/JIT 强制有向图中隐藏和恢复自定义节点?

我正在尝试使用 InfoVis / JIT 来呈现可视化网络的力导向图。我是 java 脚本和 JIT 的新手。我在我的 js 文件中使用以下代码创建了我自己的自定义节点类型,这让我可以在节点上显示我的图像。

我在 json 数据对象中使用 "$type": "icon1" 将此自定义节点类型分配给节点。我确实在节点上获得了图像,但问题是我无法在需要时隐藏它。我可以使用以下代码隐藏内置节点类型,如圆形、方形等。

但是相同的代码不适用于自定义节点。因此,我尝试将节点类型临时更改为内置的“圆形”类型,将其隐​​藏,然后将节点类型重新设置为其原始类型,即我的自定义节点 icon1。

我认为这应该可行,但自定义图像会在一段时间后在画布上返回。如果我没有将节点的类型重置为其原始类型,即在上面的代码中并注释掉以下语句并调用隐藏函数,那么该节点将被隐藏。

我无法弄清楚如何仅通过将节点的类型设置为某种自定义类型来呈现节点。对此问题的任何帮助将不胜感激。

我需要将节点的类型重新设置为其原始类型,因为我希望在需要时通过调用取消隐藏函数来恢复节点。如果我不将节点的类型重置为原始类型,那么在恢复时它将呈现为一个圆圈。

我已经浏览了 JIT 的 API 和 google 组,但找不到答案。任何人都可以帮忙吗?

0 投票
1 回答
531 浏览

javascript - Tips.hide() 函数。infoVis/JIT 中的潜在错误?

我有一个启用了“提示”的力导向图。我不想为那些隐藏的节点显示提示,即“alpha”为零的节点。在 onShow 回调函数中,我尝试使用tips.hide() 但它没有隐藏提示。这是我的代码。

当我深入研究 infovis 库 jit.js 时,我发现了一些看起来像错误的东西。下面是基本上将 style.display 设置为“无”的隐藏功能。

现在看看下面的代码。

如您所见,onShow 函数是从 onMouseMove 函数调用的。在 onShow 之后,调用 setTooltipPosition 函数将 style.display 设置回 ' '(参见我在代码中的注释)。因此,即使从 onShow 函数调用 hide(),提示也不会被隐藏。当我在 setTooltipPosition 中注释掉该行时,它起作用了,即对于隐藏的节点隐藏了工具提示。

这是 infovis 中的错误还是我做错了什么。我想知道如果隐藏功能不是错误,应该如何使用它。

另外,有没有人知道隐藏工具提示的任何其他更好的方法?

0 投票
1 回答
627 浏览

javascript - 指定 infoVis JIT 图中节点之间的最小距离

有什么方法可以指定力有向图中的节点/边之间的最小距离?

我有一些图表,其中一个节点直接连接到数百个其他节点,在这种情况下,很难选择特定的边或节点,因为边和节点非常接近以至于 onMouseEnter , onClick 等事件不会被触发用户期望它是。

例如,如果 nodeA 和 nodeB 非常接近,当我将鼠标悬停在 nodeA 上并希望它突出显示时,会突出显示 nodeB,因为为 nodeB 触发了事件。当它们彼此太靠近时,边缘的情况也是如此。基本上,用户很难知道究竟是哪个节点/边缘被悬停或选择。

我知道我们可以指定边长。这可以在一定程度上解决这个问题,但是当你有数百个节点和边时它就无济于事了。而且我不能将边缘长度设置为超过画布的高度。

如果我们可以指定节点/边之间的最小距离,那将非常有用。

有谁知道怎么做?

0 投票
1 回答
1097 浏览

infovis - 在 infovis 中将普通线更改为箭头线

如何在 infovis 中将普通线更改为箭头线?

目前块之间有一些线,我找到了一些 css 文件,但我找不到描述线行为的内容,以便我可以将普通线更改为箭头线。

谢谢。

0 投票
1 回答
1274 浏览

javascript - Javascript Infovis Toolkit 的 Spacetree 示例无法在本地运行

尝试基于InfoVis工具包制作自定义树动画,特别是想自定义Spacetree Tree动画示例。由于这个原因,将样本保存到本地计算机,但是打开本地样本不能正常工作,即结果与网络版本不完全相同。首先,节点没有着色,其次,onClick事件没有响应。我检查了 html 文件的本地和 Web 版本,一切都相同,所有 js 和 css 文件都被正确调用和访问。有人有类似的问题吗?如果有请分享解决方案。提前致谢。

截图:

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
1406 浏览

javascript - Infovis JIT:将点击侦听器添加到边缘

我正在尝试在旭日形图的边缘捕获点击事件。我已经捕获了节点上的点击事件。这就是我正在尝试的:

但这仅捕获节点点击。怎么了?先感谢您。

0 投票
0 回答
627 浏览

javascript - Jit - 尝试在节点扩展时调整 SpaceTree 的大小,而不是隐藏其他子树

我正在使用 Jit 的 Spacetree ( http://flashcanvas.net/examples/thejit.org/static/v20/Jit/Examples/Spacetree/example1.html ),我正在尝试将其修改为单击节点时的位置要展开它,它不会隐藏其他节点,但它会简单地调整大小以适应画布上的所有节点。

我想做的类似于 d3js 的可折叠树布局(http://mbostock.github.io/d3/talk/20111018/tree.html)。但是,我不能使用 d3js,因为我正在处理的项目需要与 IE8 兼容,并且截至目前,d3js 不能与 IE8 一起使用,而且我看到的试图结合 Raphael JS 和 d3js 的库不起作用适当地。

我不是在寻找代码,而只是一个关于如何实现它的想法(无论是修改 Jit 的源代码还是我必须在我自己的 .js 文件中手动完成)谢谢。

0 投票
1 回答
385 浏览

javascript - JavaScript InfoVis Toolkit SpaceTree 节点顺序

我正在使用 InfoVis SpaceTree 来可视化一棵树。一次调用 loadJSON 方法即可加载完整的树。每个节点的子节点的顺序已经正确。但是节点不按它们在数据结构中定义的顺序显示,即根据它们的数组索引。

我怎样才能让它们以正确的顺序显示?任何帮助将不胜感激。

0 投票
0 回答
68 浏览

thejit - 使用 Android 默认浏览器未完全清除 Spacetree 画布

我在一个项目中包含了一个 JIT 空间树,它适用于除 Android 默认浏览器之外的任何浏览器:动画期间某些节点未正确清除。

我们可以在Spacetree 演示中看到它:使用例如 Android 浏览器 4.0+ 或这个 Android 模拟器在此树中导航,您将看到背景中的一些节点未清除。

我试图禁用动画(使用方法 ST.select 而不是 ST.onCLick),它是一样的。我还尝试在“onBeforeCompute”事件中用黑色矩形填充整个画布,但每次都会重绘这些背景节点。

请有关此问题的任何线索将不胜感激

0 投票
1 回答
582 浏览

infovis - 如何在 JavaScript InfoVis ToolKit 中将 css 样式添加到自定义图像节点

我已经为我的强制导向 InfoVis 图表创建了自定义节点,我在其中显示了用户的图像。我现在想为图像添加样式,例如添加边框并使其成为圆形。我尝试按如下方式添加 css 类,但它不起作用。

这是我的自定义节点代码: