我想模拟一个按时间索引的约束系统。这涉及基于某些逻辑/关系进行交互的代理/节点网络。我想将节点放置在网格上,2D 或 3D 并不重要。我想在它们之间绘制边缘,并在它们旁边绘制文字。我想给出节点上标签的逻辑并给出状态指示。 simjava的风格:
simjava
但更多的是基于数学模拟而不是软件过程。绘图工具会很有用等等。
有什么好的推荐吗?有很好的软件可以可视化数据集。 Matlab的Simulink在非离散事件上有很多复杂性,并且不像卡通那样适合测试原理而不是分析。除非我错了,Simulink
提供此
编辑:类似的问题询问动态图
堆栈溢出相关问题,
除了定制解决方案之外,这个问题似乎没有任何具体的解决方案。
I would like to make a simulation of a constrained system indexed by time. This involves a network of agents/nodes that interact based on some logic/relationships. I would like to place the nodes on a grid 2D or 3D does not matter. I would like to have edges drawn between them, and text beside them. I would like to give the logic for the tags on the nodes and give indication of the states. In the style of simjava:
simjava
But more based on mathematical simulations than software processes. Graphing tools would be useful etc.
Any good recommendations? There is good software for visualizing data sets. Matlab's Simulink has a lot of complexity on non-discretec events, and is not as cartoon-like which is good for testing principle rather than analytics. Unless I am wrong and Simulink
provides this
EDIT: A similar question asks about dynamic graphs
stack overflow relevant question,
it is an issue that does not seems to have any concrete solution except for customized solutions.
发布评论
评论(3)
唔。不确定我是否走在正确的道路上,但是你看过 graphviz 吗?它将渲染图形(包括使用各种不同算法的自动布局)。有来自各种语言的绑定,例如用于 python 的 pydot。如果您需要图形分析算法(例如最短路径),还有 pygraphlib。
graphviz 还有其他选择,例如 protovis / infovis。两者都是基于 javascript,提供强制导向布局,并在浏览器中呈现。
如果我误解了问题,请道歉,希望有所帮助。
hmm. Not sure if I'm on the right track or not, but have you looked at graphviz? It'll render graphs (including auto-layout with various different algorithms). There are bindings from various languages, e.g. pydot for python. If you need graph analysis algorithms (e.g. shortest path) there's also pygraphlib.
There are alternatives to graphviz, e.g. protovis / infovis. Both are javascript based, provide force-directed layout, and render in the browser.
Apologies if I misunderstood question, hope that helps.
也许MathGL(跨平台GPL绘图库)可以满足您的要求。图形可视化不是 MathGL 的主要目标。然而,它有一个基元(矩形、线条、标记、弯曲文本等),允许人们制作图表。它还可以处理 3D 数据。它允许交互——它返回选定位置(单击鼠标时)的对象 ID。
May be MathGL (cross-platform GPL plotting library) can meet yours requirement. Graph visualization is not the main goal of MathGL. However, it have a primitives (rectangles, lines, marks, curved text and so on) which allow one to make a graph. Also it can handle data in 3D. And it allows interaction -- it return the object Id at selected position (at mouse click).
如果您想要工具实际进行模拟加可视化,也许
netlogo
:https://ccl .northwestern.edu/netlogo/ 如果您只是想可视化随时间变化的链接,也许Gephi
:http://gephi.github.io/ 或ndtv
R 包:http://cran.r-project.org/web/packages/ndtv/index.htmlIf you want tools to actually do simulation plus viz, perhaps
netlogo
: https://ccl.northwestern.edu/netlogo/ if you just want to visualize links changing in time, perhapsGephi
: http://gephi.github.io/ or thendtv
R package: http://cran.r-project.org/web/packages/ndtv/index.html