哪些算法适用于实时数据和直接操作的交互式/实时图形绘制?
失败 - 你用什么库来绘制图形?
建议;
答案 0 :(得分:4)
我会推荐Jeff Heer所使用的任何库:
我相信这三个项目都是开源的。 Jeff Heer非常善于在他的代码中引用论文,至少在Prefuse库中。查看Prefuse来源:
BalloonTreeLayout :使用的算法是G.Melançon和I. Herman的研究论文“生根树的圆形图”,“数学与计算机科学中心的报告”,报告编号INS-9817 ,1998年。
ForceDirectedLayout.java :没有提及参考,但有很多评论描述它的工作原理。
FruchtermanReingoldLayout.java :引用Jung。在他们的网站上我找到了paper which has references to various algorithms
NodeLinkTreeLayout.java :使用的算法是Christoph Buchheim,MichaelJünger和Sebastian Leipert的研究论文Improving Walker's Algorithm to Run in Linear Time,Graph Drawing 2002.该算法纠正了Walker的性能问题。算法,它推广了Reingold和Tilford的方法,用于整理树木图,以支持在任何给定节点上具有任意数量子节点的树。
RadialTreeLayout.java :使用的算法是Ka-Ping Yee,Danyel Fisher,Rachna Dhamija和Marti Hearst的研究论文Animated Exploration of Dynamic Graphs with Radial Layout,InfoVis 2001.该算法计算径向布局,考虑到尺寸可能的变化,并保持方向和排序约束,以促进布局配置之间平滑和易于理解的过渡。
SquarifiedTreeMapLayout :此特定算法取自Bruls,D.M。,C。Huizing和J.J. van Wijk,“Squarified Treemaps”in Data Visualization 2000,Proceedings of the Joint Eurographics and IEEE TCVG Sumposium on Visualization ,2000,pp.33-42。可在http://www.win.tue.nl/~vanwijk/stm.pdf在线获取。有关TreeMaps的更多信息,请参阅http://www.cs.umd.edu/hcil/treemap-history
答案 1 :(得分:3)
prefuse visualization toolkit看起来像个好人。
Prefuse支持丰富的一套 数据建模的功能, 可视化和互动。它 为。提供优化的数据结构 桌子,图表和树木,一大堆 布局和可视编码技术, 并支持动画,动态 查询,集成搜索和 数据库连接。 Prefuse是 用Java编写,使用Java 2D 图形库,很容易 集成到Java Swing中 应用程序或Web小程序。 Prefuse 根据BSD条款获得许可 许可证,可以自由使用 商业和非商业 目的。 (来自主页)
答案 2 :(得分:3)
图形绘制是一个很大的领域。这是graph drawing research community web site的链接。他们有一个专门关于图形绘制的年度会议。 我还建议阅读一些Prof. David Harel's Publications - 他的一个研究领域是图形绘制,例如this paper。在一般情况下,这似乎是一个难以解决的问题。也许您可以将应用程序限制为某些受限制的图形子集(平面图可能过于严格)。具有一小组顶点的简单图形可能更容易操作。
答案 3 :(得分:3)
有一些与Graphviz相关的精彩文章。特别是:
答案 4 :(得分:2)
我使用Dot语言来描述图形。并且,Dot编译器的输出包括SVG,它是XML格式并且可以嵌入到XHTML中。
http://en.wikipedia.org/wiki/DOT_language
答案 5 :(得分:1)
答案 6 :(得分:1)
我是stackflow的新手,很抱歉迟到的回复。根据您想要获得的交互方式......您可能还想要查看Flot(使用JQuery,交互性较低)或processing ...更具互动性。