问题标签 [pydot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1933 浏览

python - python中的有向图

我试图用我的 ETL(提取转换加载)管道描述不同数据实体的关系。最终输出是一个大的有向图。到目前为止,我正在使用 Python 来提取数据关系。Pydot 帮助我生成可以使用浏览器打开的 svg 文件。我生成的图表是静态的。

Pydot 允许我设置工具提示并允许我将其他 html 页面与节点或边缘链接起来。我正在寻找更多。

图表的一小部分如下所示

有向图

在此处输入图像描述

我想用这张图做几件事。

  • 每个节点都可以有多个属性(包括名称)。由于空间不足,我无法显示这些属性。但是当用户将鼠标悬停(或执行其他基于鼠标的操作)时,我希望这些属性显示为“浮动”表,如果用户不感兴趣,可以将其关闭。
  • 并非所有节点属性都是整数或字符串。它也可以是图表。例如,对于其中一个节点,我可能有一个条形图,显示该数据实体在过去 7 天内加载的频率。当用户在该节点上移动(单击)鼠标时,我希望该条形图浮动。目前我正在使用 matplotlib 生成与节点相关联的条形图/饼图(请参见上文)。我使用 pydot 中的 setURL 将这些图与我的原始有向图链接起来。但是用户体验不是很好,因为它会将用户带到一个新页面。
  • 我对默认情况下从 Pydot/GraphViz 获得的节点布局等感到满意。除非绝对必要,否则我不喜欢从头开始做所有事情。
  • 能够根据节点或边属性中的查询仅突出显示图形的某些部分

我阅读了这个论坛,并在回答与我类似的问题时遇到了几个选项。

  • 格菲
  • igraph(我玩过 igraph,它可以让我通过顶点或边进行查询。我不知道如何
    根据用户输入使最终的图形交互,例如鼠标悬停在节点上的浮动表等)
  • Javascript 库 - sigma.js、arbor.js、d3.js 节点箱
  • 网络X
  • 节点箱

我有 Python 技能,但在 Javascript 方面相当新手。我想从专家那里知道什么是我最好的选择(从功能和易用性的角度来看)。首选基于浏览器的解决方案。

任何建议/帮助将不胜感激。

谢谢阿比吉特

0 投票
1 回答
662 浏览

python - 使用 DOT 图作为树形 GUI 的基础

我想使用由 DOT(python 中的 pyDot)生成的图形作为交互式树结构 GUI 的基础,其中树中的每个节点都可以是小部件。

该树基本上是一个二进制莫尔斯电码树,它从顶部节点开始向下导航到所需的字母并选择它。他们要选择的节点应该是可突出显示的,并且应该能够根据用户输入更改其内容(字母)。

基本上,我希望将节点变成具有可调参数的全尺寸对象,这些参数会随着接口的使用而改变。谁能指出我正确的方向才能做到这一点?

0 投票
1 回答
202 浏览

python - Pydot 在一行中创建图形

我使用 pydot 为我的日志文件创建了一个网络链接图。但是,我的图表结果是一个很长的图表。有什么办法重新排列吗?我已附上图片以供参考

Pydot 图

0 投票
27 回答
164812 浏览

graphviz - 为什么 pydot 在 Windows 8 中找不到 GraphViz 的可执行文件?

我在 Windows 8 中安装了 GraphViz 2.32,并将 C:\Program Files (x86)\Graphviz2.32\bin 添加到 System PATH 变量中。pydot 仍然无法找到它的可执行文件。

我找到了这个https://code.google.com/p/pydot/issues/detail?id=65但无法解决问题。

0 投票
2 回答
10492 浏览

python - 从 sklearn Python 中的决策树在 pydot 中制作图表

我希望这段代码能够创建树的 PDF 图。

有没有办法通过pydot做我想做的事?这条路是死路一条。

进一步解释问题,代码在最后一条语句中失败。graph.write_pdf() 正在 graph.progs() 中寻找 Graphviz,但那里没有条目。错误消息显示未找到 Graphviz 可执行文件。

无论如何,我可以通过在 DOS 终端中调用 dot.exe 命令来生成 pdf 文件,但最好使用 pydot 来执行此步骤。

0 投票
1 回答
1037 浏览

python - 如何在pydot中使用带箭头的线条

我已经使用 pydot 和这些命令绘制了一个二叉搜索树

其中函数视图遍历树并调用一个简单的例程来绘制边缘:

但是连接节点的线是简单的直线。有没有办法将简单的线条变成有向箭头?

0 投票
1 回答
379 浏览

python - 使用 pyDot 生成图形时有没有办法控制线的角度

我编写了一个 python 类来显示和动画二叉搜索树。然而,由 pyDot edge 和 node 命令生成的图形似乎不允许我控制连接树中每个元素的箭头的角度或方向。

对节点的形状有很多控制,但似乎对线条的角度没有任何控制。我希望找到某种最小角度参数来添加到我的边缘,因为它们被添加到图表中?

这是我使用 edge 命令绘制节点的代码示例:

最终结果是,当多个节点只有一个孩子时,我的二叉搜索树图看起来不像传统的树结构。

这是我的项目的链接,您可以在其中看到其他工作结果: http ://www.embeddedcomponents.com/blogs/2013/12/visualizing-software-tree-structures/

0 投票
1 回答
2813 浏览

python - 需要控制pydot边长

有没有办法使用 pydot 生成一个看起来像“普通树图”的有向树图,其中相同深度的每个节点都显示在相同的深度,并且每条边都处于某个角度(不是直下)?

当我使用这些默认值时:

节点 2 和 1 之间的边的长度太长。看:
在此处输入图像描述

我可以使用“1”的边权重来校正节点的长度,例如:

graph.set_edge_defaults(color="blue", arrowhead="vee", weight="1")

但是现在两条边在 2 和 3 以及 7 和 6 之间直接指向下方。请参阅: 在此处输入图像描述

笔直向下的边缘被证明是一个真正的问题。如果左右兄弟都没有绘制,则不清楚哪个节点(左或右)被绘制。

PS:在我之前关于同一个项目的问题中,我询问了如何控制边缘的角度,以便 pydot 生成的树图可以避免边缘直接指向下方。这个问题被“盖伊”很好地回答了。在使用不可见节点实施 Guy 的解决方案后,出现了一个新的副作用:某些图上的某些边的长度过长。以下是上一个问题的链接供参考:Is there a way to control line angle when generated graphs with pyDot

0 投票
1 回答
1466 浏览

python - 如何在pydot的记录节点中使用端口名称

我还没有找到在 pydot 中使用端口绘制节点的方法:无论是在文档中还是在网络上的示例中。

有没有办法使用 pydot 绘制下图?

图表:

点代码:

谢谢!

0 投票
1 回答
2135 浏览

python - 使用 PyDot 排列点图的头部?

我正在为我的实验室实验制作动态生成的图表。这就是它现在的样子:

实验图

理想情况下,我希望蓝色节点位于顶部的一条线上,这样无论导致它们的历史有多大,当前的实验都是可见的。有没有办法在 GraphViz 中做到这一点?我正在使用 PyDot,但也可以手动编辑点图。

我在这里发现了一个可能相关的问题,将它们放在子图中有帮助吗?

编辑:这是当前的点代码。