问题标签 [neato]

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 回答
608 浏览

graphviz - 使用 graphvizneato/fdp 叠加图

如何在不影响布局的 graphvizneato/fdp 图中添加边。我特别尝试了weight=0,如文档中所述,以及与属性和不同s 的w=0许多其他组合。lenweight

我正在寻找具有“固定”位置/邻域和附加关系覆盖的节点地图。

0 投票
1 回答
377 浏览

graphviz - 如何将节点放置在neato 图的顶部?

是否可以强制 graphviz 将节点“a”放在该图的顶部?我已经尝试过neotofdp

整洁图

0 投票
3 回答
1916 浏览

graphviz - 如何在 Graphviz/dot/neato 中创建命名边缘“类型”?

我需要用 graphviz/dot 绘制一个图表,其中节点之间有共同的边类型,并且我试图找到一种方法来为每种类型的边定义一个标签,然后在图中多次使用该标签。

例如,想象一下传统的吊扇 FSM 示例,它最初处于关闭状态,每次有人拉动电源线时,它都会根据风扇的速度更改为新状态:

每条边都被命名为“Pull”,我可以使用以下方法在点中定义它:

但我不想每次都指定相同的文本标签,因为

  1. 我的标签可能会变得很长,因此很容易出错,并且
  2. 除了标签之外,我的边缘还有其他属性,例如颜色,并且
  3. 我有多种不同类型的边可供选择,因此我想确保图表中不同上下文中使用的边类型“A”始终具有所有相同的属性。

我希望 dot 有一种语法,可以让我为边缘类型定义名称,例如:

但当然,真正做的是创建一个名为“Pull”的节点和未标记的边。

我已经在网上搜索了几个小时没有成功。任何人都知道如何预先定义边缘类型以在多个位置使用?

更新: @vaettchen 建议定义一个边缘类型,然后列出该边缘类型的所有转换,然后定义下一个边缘类型,然后是它的转换。虽然这在技术上可以解决我的问题,但它会引入其他几个问题,因为我今天的图表看起来像:

并通过边缘类型重新排列,我会在代码中失去直接的视觉清晰度,让双向边缘彼此相邻(a-> b 和 b-> a),我必须明确列出每个内的节点子图,我必须将子图内部边缘定义拉到主图中:

因此,虽然它可以解决我提出的问题并且我很欣赏这个建议,但我不确定它是否值得权衡,因为你最终得到了一个 C 程序,你必须在函数之外定义所有变量,并且按它们的类型而不是逻辑关联来组织它们。

需要明确的是,在上面的示例中,如果存在这样的“edge_type”定义关键字,我真正希望的内容如下所示:

0 投票
1 回答
505 浏览

graphviz - gvpack(graphviz)不保留各个有向图的标签

有四个点文件(cluster_0、cluster_1、cluster_2、cluster_3)需要合并成一个点文件。

各个点文件的代码如下。

要生成合并的单点文件...我运行了以下命令。

merge.eps 非常好,但个别图的标签丢失了。我们如何在输出合并文件中保留各个图的标签?任何人都可以帮助解决这个问题吗?

在这里,我附上了显示标签的单个文件,我使用以下命令编译了单个文件。

我还附上了删除图形标签的合并输出文件。

在此处输入图像描述

0 投票
0 回答
461 浏览

graphviz - 如何在 Graphviz 中增加平行边之间的间隙

我正在使用 graphviz 中的 Neato 布局引擎渲染一个用点语言编写的图形。

我的图表由正交线组成,并且我面临的问题是平行边彼此靠得太近。

请参考下图

在上图中,节点 1 和节点 2 之间的水平平行边彼此过于靠近。

如果有人能给我一个关于如何在平行边之间引入间隙/空间的想法,我会非常高兴,以使图形看起来更清晰。

以下是我用来渲染 node1 和 node2 的点语言代码。

0 投票
1 回答
146 浏览

graphviz - 与定位节点不重叠的边

无重叠选项(overlap=false)和定位(“-n2”命令行参数)不兼容。

当执行以下命令行时:

我得到以下结果:

graphviz 重叠测试点文件

您知道生成与不重叠边相连的节点图的替代解决方案吗?

提前致谢,

0 投票
1 回答
322 浏览

graphviz - 在graphviz中绘制带有标记顶点的多边形

我正在尝试用 graphviz 制作基本的多边形。我有这样的事情:

显示以下内容

多边形1

我希望圆圈消失,看起来更像这样:

多边形2

我尝试切换到shape=point,但标签消失了。有什么建议么?

0 投票
1 回答
703 浏览

visualization - 使用Graphviz中的neato引擎对具有单例/未连接节点的子图进行聚类

我希望用 Graphvizneato引擎生成两个子图。一个子图将包含相互连接的节点,另一个将包含未连接到任何其他节点的单例节点。我已经从下面的 Graphviz 网站调整了这个例子:

neato当使用引擎处理每个子图中的节点未聚集在一起 时,它给出了下图。

在此处输入图像描述

dot引擎处理可以得到很好的结果,但我需要生成具有大量节点的网络,并且neato引擎更适合这种格式。

在此处输入图像描述

我想要边框、标题和聚类(如dot上面使用的示例所示),但使用neato引擎定位节点。有没有办法在 Graphviz 中做到这一点?

在此先感谢您的帮助。

0 投票
1 回答
318 浏览

r - 使用带有 processmapR 的neato 布局控制边缘

我正在使用 bupaR 流程挖掘套件和 processmapR 将我的日志绘制为流程图,但是当我尝试设置自定义位置(强制图形使用整洁布局)时,边缘变得几乎是直的,并且边缘值很难读:

没有自定义位置的默认图表: 在此处输入图像描述 使用自定义位置: 在此处输入图像描述

我试着用

但我找不到任何属性来改变边缘的显示方式,比如向它们添加更多曲线

我该如何解决这个问题?

谢谢

0 投票
1 回答
74 浏览

graphviz - 如何使用 twopi 划分大图

我在 DOT 中有一个相当大的图,我使用neato渲染它 ,我或多或少能够使用很多len=...属性来区分它的主要集群。

我想尝试twopi,因为我非常喜欢它的渲染方式,但我发现它不支持len.

有替代品吗?我需要手动保持图形的某些部分与其他部分隔离,以增强可读性。我尝试使用集群,但显然结果不太好。