问题标签 [r-graphviz]

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 投票
0 回答
673 浏览

r - 在 Rgraphviz 中使用 `pos` 参数来固定节点位置

基于这个问题Automatically curling an arc when it is overlap with another one,我试图在图中设置pos属性RGraphviz

有人可以展示如何正确使用该pos属性或建议更强大的解决方法。谢谢。

例子

为了与上述链接的问题保持一致,以下示例从bnlearn网格布局中具有节点的图形开始。

帮助页面?GraphvizAttributes指示pos应设置为

节点的位置(对于neato 布局,这是节点的初始位置)。使用概念 val,val 指定,其中每个 val 都是双精度值。

再往下一点,neato仅用于属性

pin:如果 TRUE 并且节点在输入上具有 pos 属性,neato 会阻止节点从输入位置移动。此属性的默认值为 FALSE。

我找不到应用这个论点的正确方法。

我尝试过的各种事情都没有成功


我可以通过这种解决方法获得预期的结果,但它不会很强大。

给出预期的结果

在此处输入图像描述

0 投票
1 回答
1317 浏览

r - bnlearn + Rgraphviz:自定义绘图时使用双箭头而不是无向边

我正在尝试自定义bnlearn使用RGraphviz. 当我有无向边时,RGraphviz当我尝试自定义图形的外观时,将它们变成两个方向的有向边。

一个可重现的例子可能是:

图表未自定义:

在此处输入图像描述

到目前为止,一切都很好。但如果我尝试自定义它:

自定义图表

在此处输入图像描述

无向边被变换。

即使我只使用 plot(g1),我也会遇到这个问题。问题是这(保存 g1 然后使用绘图)似乎改变了图形的外观。

0 投票
0 回答
165 浏览

r - 在 Rgraphviz 中设置子图/集群属性

我想通过 Rgraphviz 绘制图表,但我无法处理我设置的集群的设计属性。

SO其他地方已经有类似的问题,但没有一个真正的最小工作示例,并且没有一个得到回答。所以我想尝试提出一个完整的问题以获得完整的答案。作为对该软件包的介绍,我阅读了Gentry、Gentleman 和 Huber的论文“How To Plot A Graph Using Rgraphviz”。

我的示例网络:

如果我想绘制它,我可以很容易地通过列表给它一些属性:

通过绘制它plot(g1)会得到以下结果:在此处输入图像描述

现在我想定义两个集群/子图。这可以通过以下方式完成:

现在再次绘制图形,包括一个subGlist参数:

在此处输入图像描述

因此,显然,设置发生了变化,即使将集群分开一点会很方便,但结果还可以。

现在,如果我想定义特定于集群的样式或尝试将它们框起来,我就会遇到问题。根据上述介绍性论文的第 4 页,可以简单地将一个名为的元素添加attrssubGlist.

据我了解,它应该以这种方式工作:

不幸的是,事实并非如此。如前所述,我想构建我的集群(类似于this SO post),但由于我什至无法处理集群的字体颜色,我认为我犯了一个更根本的错误。

我的完整代码:

我希望有人能帮帮忙!谢谢

0 投票
1 回答
724 浏览

r - 安装 BiocManager 包的代码是什么?

我需要安装 Rgraphgviz 包,为此我找到了这段代码

看来我也需要安装 BiocManager 包。谁能帮我这个?还是有其他方法?

0 投票
0 回答
83 浏览

r - Rgraphviz 点布局中的错误节点大小

我将以下图形对象保存为文件(“Test.txt”),我想用 Rgraphviz 可视化这个图形:

neato 布局工作正常,并给了我预期的结果。但是,如果我使用点布局,则节点大小太大

节点大小错误的 Rgraphviz 点布局

但是,如果我使用这个 graphviz网站在点布局中绘制完全相同的图形,则节点大小很好。

有没有办法手动调整 Rgraphviz 中的节点大小?

0 投票
0 回答
120 浏览

diagrammer - 使用 DiagrammeR 节点和边而不是 graphviz 创建流程图

我想使用带有 R 的 DiagrammeR 节点和边功能创建流程图,而不是使用 graphviz 包装函数。

但是,我不知道如何使边缘笔直以使其美观。

这是看起来像我想要的graphviz解决方案:

这是我尝试使用节点和边解决方案重新创建相同的图:

0 投票
1 回答
1165 浏览

r - R 版本 4.0.2 出错,但在带有 DiagrammR 的 R 版本 3.6.3 中没有:!LaTeX 错误:环境 grViz 未定义

我已经在 DiagrammR 中成功使用了 grViz,并在 R 版本 3.6.3 上使用了 R markdown(bookdown)文件,这导致另一台 R 版本为 4.0.2 的计算机上出现错误。我已经“尝试了一切”,包括重新安装 TinyTex 并遵循https://yihui.org/tinytex/r/#debugging中的所有选项

该文件在两个 R 版本中都可以编译为 HTML,但 PDF 在 R 版本 4.0.2 中导致错误

经过 3 小时的测试和搜索,我认为有一个错误。为了测试,我制作了一个小版本的 Rmd(见下文)文件,它在 R 3.6.3 中编译为 PDF,但在 R 版本 4.0.2 中编译为 PDF,并带有警告:

我无法从错误日志 Untitled4.log 中找到任何丢失的 LaTeX 包。!LaTeX 错误:环境 grViz 未定义。

错误:LaTeX 无法编译 Untitled4.tex。调试技巧见 https://yihui.org/tinytex/r/#debugging。有关详细信息,请参阅 Untitled4.log。执行停止


R 版本 3.6.3 的会话信息显示在此链接的 PDF 末尾: https ://uwmadison.box.com/s/xkim3gujwemrqau6bur7f8ckl35i9s9f

这是 RMD 文件:RMD 文件也在此链接上:https ://uwmadison.box.com/s/4knl7y3f7yti8ibivfjex7qdv3ez8a11

编辑#1

我检查了.tex创建的文件。似乎在 R 4.0.2 下,该.tex文件包含未在 R 3.6.3 中创建的命令。例如,这里是 R 4.0.2 的结果:

因此创建了 a\begin{grViz}和 an \end{grViz},但在 2 之间没有任何内容。

我修改了 YAML 以在 R 3.6.3 中运行以保留.tex文件

在生成的.tex文件中没有命令\begin{grViz}\end{grViz}因此问题似乎与该方面有关。在 R 3.6.3 中,代码更简单,只包含在Untitled4_files/figure-latex/flowofinformation-1可能是 PDF 的子文件夹中创建的文件,并且该文件夹必须是临时的,因为我找不到它:

因此,新添加的\begin{grViz}和 an\end{grViz}似乎导致了这个问题,但我不知道它们来自哪里。在像这样的一个简单示例中,没有preamble.tex任何类型的用户定义文件...

编辑 2

我想我必须在 GitHub 上向 Yihui 寻求进一步的帮助,所以这里是fun::session_infoR 4.0.2。首先只是为了Tinytex,然后是为了所有人:

对于所有人:

0 投票
1 回答
40 浏览

r - RGraphviz 哈斯图仅显示一个标签

为了创建一个像下面这样的哈斯图

在此处输入图像描述

一个是使用以下库

一个是从一个人的数据中抽取一个小样本

然后创建首选项

还有比图更好(BTG)

为了显示包含相关值的节点的标签,一个是创建标签如下

然而,当一个人用

一个人只能看到第一个标签,而不是两个。这是一个人看到的

在此处输入图像描述

0 投票
0 回答
47 浏览

r - Graphviz 正在绘制带有 misig 箭头和节点圆形框架的 DAG

我正在试验 bnlearn R 库及其 DAG。我也是 R 新手。

我在这里尝试了代码示例

但后来我得到了这张图!

在此处输入图像描述bnlearn.com/examples/graphviz-plot/

它缺少箭头和圆圈...我该如何解决?

sessionInfo() 输出:

0 投票
1 回答
202 浏览

r - 在 R 中创建具有集节点位置和集中边的网络图,同时带有圆头和箭头

我一直在尝试找到一种方法来使用 DiagrammeR/GraphViz 在 R 中复制以下网络图格式,但没有成功(忽略 N1 上的黑色粗箭头):https://i.stack.imgur.com/oHpQz。 PNG

该图是一个有向图,如果边值为正,则某个方向上的每条边都以箭头 (-->) 结尾,如果边值为负,则以圆/点 (--o) 结尾。在一对节点(例如 N1 -- A1)之间,可以有一条边 N1 --> A1 和一条边 A1 --o N1,这些需要集中起来,使两条边看起来像一条带一端为箭头,另一端为圆头(如:o--->)。这些不能是平行的,也不能在理想情况下看起来像两条边。

另一个要求是节点必须位于非常特定的位置,并且在边缘可能发生变化的整个模型模拟中始终保持在那里。根据我的尝试和我阅读的文档,这不可能以 DOT 格式执行,但可以使用 neoto 格式。

这是我遇到问题的地方。在neato 中,我可以通过定义节点的x、y 位置将节点精确地对齐到我想要的位置。但是,当我使用 concent = true 从两个平行的边缘创建 o---> 边缘时,只剩下一种类型的箭头。因此,应该看起来像 o---> 的边缘最终看起来像 ---> 或 o---。

这在 DOT 格式中不是问题,因为 concent = true 可以满足我的要求,但在 DOT 中我无法分配确切的节点位置。我尝试过使用节点等级来解决这个问题,但运气不佳。似乎将我想要的节点堆叠在同一等级内的不同等级中。同样,concentrate = true 似乎不适用于同一等级内的节点之间的边缘,因为它将它们作为两个单独的弯曲边缘 ---> 和 o--- 而不集中它们。

我需要这个工作的原因是因为我正在运行边缘发生变化的模型模拟,并且我需要生成数百个这样的图表。为了便于比较,节点需要保持在同一位置以保持一致性。

这是我使用neato格式所能想到的最接近的格式(节点以我想要的方式定位,但它没有显示正确的o--->所有黑色边缘减去自身边缘;红色边缘是真正的单向链接) : https://i.stack.imgur.com/YJBY7.jpg

如果只有边缘显示为正确的 o---> 格式,这将非常适合我的需要。如果您知道使用 DiagrammeR/GraphViz 甚至其他程序解决此问题的任何方法,我将不胜感激。谢谢!