问题标签 [graph-tool]

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 投票
2 回答
585 浏览

python - 图形工具中的顶点坐标

我想以有效的方式在图形工具中指定图形顶点的坐标。

给定一个 csv,它看起来像:

...

我想要图形工具在位置 (2.5,3.8) 等处绘制顶点 1...

一个无效的解决方案在: Explicit vertex position in python graph-tool 中给出,所以我基本上可以在我的所有坐标上使用for循环并将它们保存在属性映射“pos”中。如果我的图表是“g”并且我的 csv 是使用数据框“坐标”中的 pandas 读取的,我可以这样做:

问题是我的节点数 numnodes 很大(~10^7),这可能需要一些时间。

通过直接在属性映射“pos”中输入数据,是否有更有效的方法来执行此操作?

0 投票
2 回答
6177 浏览

python - 如何在 linux-64 上为 Anaconda Python 3.5 安装图形工具?

我正在尝试在 Ubuntu 14.04 (x64) 上为 Anaconda Python 3.5 安装图形工具,但事实证明这是一个真正的技巧。

我尝试了这种方法,但遇到了问题:

挖掘依赖关系导致 gobject-introspection 陷入死胡同

 

所以我尝试了另一种方法:

用 conda 安装了 boost,然后尝试 ./configure、make 和 make install graph-tool... 到了 ./configure:

我知道这是关于 ./configure 命令的环境变量和 conda 将 libboost 安装到 Anaconda 奇怪的地方,我只是不知道该怎么做,而且我的 Google-fu 让我失望了。所以这是另一个死胡同。

最近必须在 linux-64 中安装图形工具的任何人都可以给我一个演练吗?这是在 VMWare Workstation 10.0.7 中运行的全新 VM

0 投票
3 回答
3355 浏览

python - 忽略指定值的numpy数组的平均值

我有许多一维 numpy ndarrays,其中包含给定节点和网络中我想计算平均值的所有其他节点之间的路径长度。事情很复杂,因为如果两个节点之间不存在路径,算法会为给定的连接返回 2147483647 的值。如果我不处理这个值,它显然会严重夸大我的平均值,因为我的网络中的典型路径长度将介于 1 到 3 之间。

处理此问题的一种选择是遍历所有数组的所有元素并替换2147483647NaN然后使用numpy.nanmean来查找平均值,尽管这可能不是最有效的方法。有没有办法用 numpy 计算平均值而忽略 的所有值2147483647

我应该补充一点,我可以有多达几百万个数组和几百万个值来平均,因此在如何找到平均值方面的任何性能提升都会产生真正的影响。

0 投票
4 回答
288 浏览

python - Iteratively count elements in list and store count in dictionary

I have a piece of code that loops through a set of nodes and counts the path length connecting the given node to each other node in my network. For each node my code returns me a list, b containing integer values giving me the path length for every possible connection. I want to count the number of occurences of given path lengths so I can create a histogram.

This presumably is very crude coding as far as the dictionary update is concerned. Is there a better way of doing this? What is the most efficient way of creating this histogram?

0 投票
1 回答
138 浏览

python - graph_tool 可以对节点进行排序吗?

我有一个 DAG 网络,想在 python 中可视化它。我选择了 graph_tool 但任何其他库都可以。

我找不到一种方法来影响节点的位置,然后创建连接。有没有办法对节点进行排序,这样我就不需要手动将节点从混乱中拉出来?

或者是否有具有此功能的替代库?

如果这很重要,我会在 Linux 机器上使用 python 2.7。更重要的是:我使用的是最新版本(2.18)的graph_tool

0 投票
1 回答
753 浏览

python - 从字典创建图形工具图形

我一直在使用 networkx,它让我直接从字典创建 Graph 对象的方式非常简洁:简单nx.Graph(my_dictionary)的 . 现在我正在尝试使用图形工具,但我注意到我不能这样做。

在谷歌搜索时,我发现了这篇博文,它展示了如何从 networkx 图创建一个图工具图。然而,这个过程非常复杂,每当我使用图形工具时,我都不想同时依赖自制函数networkx。

我想编写一个遍历我的字典的函数同样容易。但在我开始这样做之前,我想确保没有人已经编写过 dict-to-graph-tool 解析器。这似乎是一件显而易见的事情,但我在图形工具文档中找不到任何东西......

0 投票
3 回答
2486 浏览

python-3.x - 如何在图形工具中有效地计算图形的平均路径长度?

我正在处理大约 10000 个顶点的网络,我正在使用图形工具来分析它们。我要为这些图表中的每一个计算的一件事是平均路径长度,它被定义为图表中所有节点对的最短距离的平均值。所以我尝试了这个:

然而,这需要永恒。有没有更好的方法来完成任务?提前致谢。

0 投票
1 回答
136 浏览

python - 图形工具的 edge_gradient 属性

我想使用edge_gradientGraph Tool 上的属性gt.graph_draw(),以便更好地可视化绘图中的连接方向,这些绘图对于箭头等标记来说过于拥挤。

从文档中的描述来看,这似乎是这个属性应该做的。然而,目前它只允许我将边缘设置为纯色。

我正在使用这样的属性:

如果我修改第一个值,外观保持不变(0.9, 0.329,0.282,0.478,1)- 如果我尝试将元组列表传递给它,我会从图形工具内部得到这个:

TypeError: float() argument must be a string or a number

我怎样才能实现我在图形工具中寻找的东西?如果我不能,那么边缘渐变 5 元组中的第一个值实际上还有什么用?

0 投票
2 回答
198 浏览

python - 查找连接到给定节点的所有边的边属性的最小值

我有一个网络,我的每个边缘都标有日期。我现在还想标记我的顶点,以便每个顶点都有一个分配给它的日期,对应于所有边缘事件的最小日期并从它发出。是否有一个内置函数可以找到它,它比我手动遍历所有顶点然后遍历每个顶点的所有边要快?换句话说:我正在寻找一个函数来找到给定边缘子集的给定边缘属性的最小值。

我目前的代码想法是:

0 投票
1 回答
189 浏览

python - 制作图形工具比例图,使标签完全可见

我在使用图形工具时遇到了这个问题,我的标签中较长的标签是从最终图中裁剪出来的。

我正在使用gt.graph_draw()绘图并尝试更改其参数以获得更好的结果。

  • 即使我增加output_size,图表也会被拉伸,所以我的标签仍然被裁剪掉
  • fit_view已经是了True,把它Flase改成把一切都搞砸了

我曾尝试让我的标签更短(不情愿地),但这再次导致图表被拉伸,因此其中一些仍然被裁剪。

任何想法我能做什么?也许我可以在 matplotlib 方面以某种方式解决这个问题?