c# – 可视化二分图

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

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

我想创建一些像这个bipartite graph的图形,节点中有一些文本.宽度和高度相同的节点将是理想的.

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

可能在Graph#中有更多经验的人可以提供有关如何执行此操作的提示
利用Graph#.

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

-update-
试过Soroush Falahati分享的NetworkView.这似乎是一个很好的基础,
但是我还不是那么灵活.我有相信那里的问题
没有图书馆可以开箱即用.
(NetworkView具有在控件中设置连接/边缘的出色功能
这使得它对NodeXL有了额外的推动作用.也许Graph#可以做得更多,
但此刻我刚试过这两个.

解决方法

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

我还尝试了NodeXL的一体化分组布局来分离组并在网格中单独显示它们,并得到边际结果.

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

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...