如果这是在商业场景中,yFiles for HTML似乎很适合您的要求:
它是一个纯 Javascript 图表解决方案,不需要活动的服务器组件或插件。它可以轻松处理一般图形,并具有非常复杂的自动布局算法。
网站上有一个现场演示,您可以在其中尝试您的确切场景:使用支持 HTML5 的浏览器并将其指向:
InteractiveGraphSource 演示,
等待它加载,然后切换到顶部组合框中的示例 4,并将以下值填写到右侧的文本框中:
节点来源:
{
1:'Action 1',
2:'Action 2',
3:'Action 3',
4:'Action 4',
5:'Action 5',
6:'Action 6',
7:'Action 7'
}
边缘来源:
[
{from:1, to:2},
{from:2, to:5},
{from:3, to:5},
{from:6, to:7},
{from:5, to:7},
{from:1, to:3},
{from:4, to:6},
]
源节点绑定:
from
目标节点绑定:
to
使 Node Id Binding 和 Edge Label Binding 为空
并像这样稍微修改模板:
<rect fill='AliceBlue' stroke='LightBlue' stroke-width='2' width='{TemplateBinding width}' height='{TemplateBinding height}'></rect><text transform='translate(10 20)' data-content='{Binding}' style='font-size:18px; font-family:Arial; fill:#000; text-anchor: left; dominant-baseline: central;'></text>
完成后,按左上角的“应用图表源”按钮,观察您的图表动画并显示在中央画布中。然后,您可以通过鼠标平移、鼠标滚轮缩放和单击节点来选择节点或使用键盘导航在节点之间切换来导航图形。
这只是库的演示,但演示已经非常强大。您还可以评估该库并针对庞大的 API 进行“真正的编程”。
披露:我为 yWorks 工作,但我在这里不代表我的雇主。