哪些算法适合交互式/实时图形绘制?

发布于 2024-07-10 01:37:15 字数 288 浏览 12 评论 0 原文

什么算法适合实时数据的交互式/实时图形绘制和直接操作?

如果失败 - 你用什么库来绘制图表?

建议;

  • Prefuse 信息可视化工具包
  • 还有其他吗?

顺便说一句-我的意思是图论意义上的图表-

  • 任何语言的
  • 点和线实时我的意思是图表一旦在屏幕上就应该是可操作的。

What algorithms are good for interactive/realtime graph-drawing for live data and direct-manipulation?

Failing that - what libraries do you use to draw graphs?

Suggestions;

  • Prefuse information-visualization toolkit
  • any others?

BTW- I mean graphs in the graph-theory sense - points and lines

  • any language
  • by live I mean the graph should be manipulatable once on screen.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

定格我的天空 2024-07-17 01:37:15

我会推荐 Jeff Heer 开发过的任何库:

我相信这三个项目都是开源的。 Jeff Heer 非常擅长在他的代码中引用论文,至少在 Prefuse 库中是这样。 查看 Prefuse 来源:

BalloonTreeLayout:使用的算法是 G. Melançon 和 I. Herman 的算法,来自他们的研究论文 Circular Drawings of Rooted Trees、Reports of the Center for Mathematics and Computer Sciences、Report Number INS-9817,1998。

ForceDirectedLayout.java:没有提到参考,但有很多评论描述了它的工作原理。

FruchtermanReingoldLayout.java:引用Jung。 在他们的网站上,我找到了一篇论文,其中引用了各种算法

NodeLinkTreeLayout。 java:使用的算法是 Christoph Buchheim、Michael Jünger 和 Sebastian Leipert 的研究论文 改进 Walker 算法以线性时间运行,图形绘制 2002。该算法纠正了 Walker 算法中的性能问题,该算法概括了 Reingold 和 Tilford 整齐绘制树木的方法,以支持具有任意数量子节点的树任何给定的节点。

RadialTreeLayout.java:使用的算法是 Ka-Ping Yee、Danyel Fisher、Rachna Dhamija 和 Marti Hearst 在他们的研究论文 使用径向布局对动态图进行动画探索,InfoVis 2001。该算法计算径向布局,其中考虑了可能的大小变化,并保持方向和排序约束促进布局配置之间的平滑且易于理解的过渡。

SquarifiedTreeMapLayout:此特定算法取自 Bruls、DM、C. Huizing 和 JJ van Wijk,《Data Visualization 2000》中的“Squarified Treemaps”,Proceedings of the Joint Eurographics 和 IEEE TCVG Sumposium可视化,2000 年,第 33-42 页。 在线提供:http://www.win.tue.nl/~vanwijk/stm .pdf。 有关 TreeMap 的详细信息,请参阅 http://www.cs.umd.edu /hcil/treemap-history

I would recommend any library that Jeff Heer has worked on:

I believe all three projects are open source. Jeff Heer is pretty good at referencing papers in his code at least in the Prefuse library. Looking at the Prefuse source:

BalloonTreeLayout: The algorithm used is that of G. Melançon and I. Herman from their research paper Circular Drawings of Rooted Trees, Reports of the Centre for Mathematics and Computer Sciences, Report Number INS–9817, 1998.

ForceDirectedLayout.java: No reference mentioned, but there are lot of comments describing how it works.

FruchtermanReingoldLayout.java: references Jung. On their website I found a paper which has references to various algorithms

NodeLinkTreeLayout.java: The algorithm used is that of Christoph Buchheim, Michael Jünger, and Sebastian Leipert from their research paper Improving Walker's Algorithm to Run in Linear Time, Graph Drawing 2002. This algorithm corrects performance issues in Walker's algorithm, which generalizes Reingold and Tilford's method for tidy drawings of trees to support trees with an arbitrary number of children at any given node.

RadialTreeLayout.java: The algorithm used is that of Ka-Ping Yee, Danyel Fisher, Rachna Dhamija, and Marti Hearst in their research paper Animated Exploration of Dynamic Graphs with Radial Layout, InfoVis 2001. This algorithm computes a radial layout which factors in possible variation in sizes, and maintains both orientation and ordering constraints to facilitate smooth and understandable transitions between layout configurations.

SquarifiedTreeMapLayout: This particular algorithm is taken from Bruls, D.M., C. Huizing, and 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. Available online at http://www.win.tue.nl/~vanwijk/stm.pdf. For more information on TreeMaps in general, see http://www.cs.umd.edu/hcil/treemap-history

美人如玉 2024-07-17 01:37:15

prefuse 可视化工具包 看起来是一个不错的选择。

Prefuse 支持丰富的
数据建模功能,
可视化、交互。 它
提供优化的数据结构
表格、图表和树,等等
布局和视觉编码技术,
并支持动画、动态
查询、集成搜索和
数据库连接。 预熔体是
用 Java 编写,使用 Java 2D
图形库,并且很容易
集成到 Java Swing 中
应用程序或网络小程序。 预熔
根据 BSD 条款获得许可
许可证,并且可以免费用于
商业和非商业
目的。
(来自主页)

the prefuse visualization toolkit looks like a good candidate.

Prefuse supports a rich set of
features for data modeling,
visualization, and interaction. It
provides optimized data structures for
tables, graphs, and trees, a host of
layout and visual encoding techniques,
and support for animation, dynamic
queries, integrated search, and
database connectivity. Prefuse is
written in Java, using the Java 2D
graphics library, and is easily
integrated into Java Swing
applications or web applets. Prefuse
is licensed under the terms of a BSD
license, and can be freely used for
both commercial and non-commercial
purposes.
(from the homepage)

往事风中埋 2024-07-17 01:37:15

图形绘制是一个很大的领域。 以下是图形绘制研究社区网站的链接。 他们有一个专门关于图形绘制的年度会议。
我还建议阅读一些 Prof. David Harel 的出版物 - 他的研究领域之一是图形绘制,例如 本文。 在一般情况下,这似乎是一个很难解决的问题。 也许您可以将您的应用程序限制为某些受限制的图形子集(平面图可能限制太多)。 具有一小组顶点的简单图可能会更容易操作。

Graph drawing is a large field. Here's a link to a graph drawing research community web site. They have an annual conference specifically about graph drawing.
I can also suggest reading some of Prof. David Harel's Publications - one of his research areas is graph drawing, for example this paper. This seems like a hard problem to solve in the general case. Maybe you can limit your application to some restricted subset of graphs (planar graphs is probably too restrictive). Probably simple graphs with a small set of vertices yield easier manipulation.

笑着哭最痛 2024-07-17 01:37:15

我使用Dot语言来描述图形。 而且,Dot 编译器的输出包括 SVG,它是 XML 格式,可以嵌入 XHTML 中。

http://en.wikipedia.org/wiki/DOT_language

I use the Dot language to describe graphs. And, the Dot compiler's output includes SVG, which is in XML and can be embedded in XHTML.

http://en.wikipedia.org/wiki/DOT_language
魔法唧唧 2024-07-17 01:37:15

不确定你在追求什么......

听起来也许你想做一些类似于 rrdtool 的事情?

也许他们的网站上有一些信息会有所帮助:

http://oss.oetiker.ch/rrdtool/< /a>

Not sure what you are after ...

sounds like maybe you are looking to do something similar to rrdtool?

Maybe there is some info at their site that will help:

http://oss.oetiker.ch/rrdtool/

望她远 2024-07-17 01:37:15

我是 stackflow 的新手,很抱歉回复晚了。 根据您想要获得的互动程度...您可能也不想查看 Flot(使用 JQuery,交互性较低),或 处理 ...交互性更强。

I'm new at stackflow so sorry for the late reponse. Depending on how interactive you want to get ... you may also want't to check out Flot (uses JQuery, less interactive), or processing ... more interactive.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文