7

有人可以推荐一个库或代码来可视化 C# 中的二分图吗?

Graph# 似乎不直接支持这种图(但对解开顶点有一些支持)。

我想创建一些像这个二分图这样的图形,在节点中有一些文本。具有相同宽度和高度的节点将是理想的。

WPF 控件将是完美的,因为它存在于 graph#。甚至可能存在 XAML 定义?作为替代方案:报告窗口也可以非常好。

可能在 Graph# 方面有更多经验的人可以提供有关如何使用 Graph# 执行此操作的提示。

使用 NodeXL 进行了一些尝试,但这似乎不是完美的解决方案,因为节点似乎不可修改。也许有人可以提供更好的解决方案。玩过 Soroush 提供的 NetworkView。目前这最接近我想要的。

-update- 试用了 Soroush Falahati 共享的 NetworkView。这似乎是一个很好的基础,但还没有我需要的那么灵活。我很难相信没有图书馆可以开箱即用地做这些事情。(NetworkView 具有在控件中设置连接/边缘的出色功能,这使其在 NodeXL 上得到了额外的提升)。也许 Graph# 可以做得更多,但目前我只是尝试了这两个。

4

6 回答 6

2

实际上,如果您可以使用客户端 jquery .. 我强烈推荐 jqPlumbs .. http://www.jsplumb.org/jquery/demo.html

于 2013-02-01T18:26:59.180 回答
2

您可以在NodeXL中近似您的二分图可视化,甚至通过删除边缘交叉来改进它。我拿了你的示例二分图,在下图中,我将节点旁边的节点(u 或 v)着色。它们使用Sugiyama 算法进行布局,最大限度地减少边缘交叉。我在 Excel 2007--2013 的交互式 NodeXL 模板中执行了此操作,但所有这些功能都应作为独立的 NodeXL C# 和 WPF 类库提供。截至本文的当前库可在此处下载。

NodeXL Sugiyama 布局中的二分图

我还尝试了 NodeXL 的 group-in-a-box 布局来分隔组并在网格中单独显示它们,结果很少。

NodeXL 二分图

免责声明:我是 NodeXL 项目的顾问。

于 2013-02-03T17:40:15.937 回答
1

如你所期待的,

这是一个示例/库,可让您轻松创建图形和流程图,

http://www.codeproject.com/Articles/182683/NetworkView-A-WPF-custom-control-for-visualizing-a

它实际上具有非常好的功能。

于 2013-02-05T12:14:24.123 回答
1
  1. yFiles WPF是一个广泛的 .NET 类库,适用于 Windows Presentation Foundation (WPF) 应用程序。其用于查看和编辑图表的一流 UI 控件允许您通过单击按钮自动排列复杂的图形、图表和网络。我们为基于 Windows 窗体的应用程序设计的图表库是 yFiles.NET

  2. Graph#是一个图形布局框架。它包含一些布局算法和用于 WPF 应用程序的 GraphLayout 控件。

  3. 使用 WPF 可视化具有循环依赖关系的图形

于 2013-02-06T04:43:31.223 回答
0

如果您可以在 Windows 窗体中执行此操作,则可以使用NShape。由于源可用,如果需要,您可以将其移植到 WPF。它可能会胜过从头开始编写它。或者,也许您可​​以托管一个 WinForms 控件来获得您需要的功能。不过,不如纯 WPF 解决方案好。

于 2013-02-01T18:43:55.570 回答
0

D3.js 是一个基于数据操作文档的 JavaScript 库。D3 帮助您使用 HTML、SVG 和 CSS 将数据变为现实。D3 对 Web 标准的重视为您提供现代浏览器的全部功能,而无需将自己束缚于专有框架,结合强大的可视化组件和数据驱动的 DOM 操作方法

D3 允许您将任意数据绑定到文档对象模型 (DOM),然后将数据驱动的转换应用于文档。例如,您可以使用 D3 从数字数组生成 HTML 表格。或者,使用相同的数据创建具有平滑过渡和交互的交互式 SVG 条形图。

D3 不是一个寻求提供所有可以想象的功能的单一框架。取而代之的是,D3 解决了问题的症结:基于数据的文档的高效操作。这避免了专有表示,并提供了非凡的灵活性,展现了 CSS3、HTML5 和 SVG 等 Web 标准的全部功能。D3 以最小的开销,速度极快,支持大型数据集和动态行为以进行交互和动画。D3 的函数式风格允许通过各种组件和插件集合重用代码。

http://d3js.org/

http://mbostock.github.com/d3/talk/20111116/force-collapsible.html

于 2013-02-05T14:26:08.893 回答