gpt4 book ai didi

python - 是否有用于 python 的交互式图形库

转载 作者:IT老高 更新时间:2023-10-28 20:23:24 29 4
gpt4 key购买 nike

我正在寻找 Python 的交互式图形库。

graph”是指由一组顶点连接的一组节点(不是 x-y 轴上的值图,也不是像素网格)。

通过“交互式”,我的意思是我可以拖放节点,我需要能够单击节点/顶点并让库将节点/顶点传递给我的回调,这可能会添加/删除节点/顶点或显示信息(由于数据集太大/复杂,我无法在启动时加载完整图表;相反,我将根据用户输入仅加载必要的数据切片)。

我所说的 Python 是指编程语言 Python ,图形库应该有 CPython 绑定(bind)。我有 Python 2.7 和 Python 3.1,但如有必要可以降级到 2.6。这种语言要求是因为我正在使用的数据集只有 Python 绑定(bind)。

图形库必须支持directed graph并能够自动布局节点。我需要在节点上贴标签。

最好,布局算法应该将相邻节点放置在彼此附近。在我 4 岁的笔记本电脑中,它应该能够合理地处理 100-1000 个节点和大约 300-4000 个顶点(我通常从大约 100 个节点开始,但数量可能会根据用户输入而扩大)。最好它应该是一个没有太多依赖项的库(可能除了 Gnome)。开源是首选。

我已经使用 Tkinter Canvas 编写了我的程序的简单原型(prototype),但是我需要一个更严肃的图形库来扩展程序。我看过graphviz和matplotlib,但显然它们只用于处理静态图,显然需要大量的工作来进行交互式操作(如果我错了,请纠正我,我只是简单地看了它们) .我还尝试将图形生成为 SVG 文件并使用 Inkscape 来查看它,但是它太慢并且占用了太多内存,而且由于顶点数量众多,它变得一团糟。

最佳答案

看起来 Nodebox 可能是你想要的:

http://nodebox.net/code/index.php/Graph Mac OSX

http://www.cityinabottle.org/nodebox/ Windows(使用 OpenGL)

Nodebox screenshot

The graph object has functionality for mouse interaction as well, bundled in the graph.events object. It has the following properties:

  • graph.events.hovered: None or the node over which the mouse hovers.
  • graph.events.pressed: None or the node on which the mouse is pressing down.
  • graph.events.dragged: None or the node being dragged.
  • graph.events.clicked: None or the last node clicked.
  • graph.events.popup: when True, will display a popup window over the hovered node.

Gephi 也遇到过,看起来可能也有你想要的功能。

http://gephi.org/ WindowsLinuxMac OSX

Gephi is an interactive visualization and exploration platform for all kinds of networks and complex systems, dynamic and hierarchical graphs.

gephi screenshot

关于python - 是否有用于 python 的交互式图形库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5759878/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com