问题标签 [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.
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。
我找不到应用这个论点的正确方法。
我尝试过的各种事情都没有成功
我可以通过这种解决方法获得预期的结果,但它不会很强大。
给出预期的结果
r - 在 Rgraphviz 中设置子图/集群属性
我想通过 Rgraphviz 绘制图表,但我无法处理我设置的集群的设计属性。
SO和其他地方已经有类似的问题,但没有一个真正的最小工作示例,并且没有一个得到回答。所以我想尝试提出一个完整的问题以获得完整的答案。作为对该软件包的介绍,我阅读了Gentry、Gentleman 和 Huber的论文“How To Plot A Graph Using Rgraphviz”。
我的示例网络:
如果我想绘制它,我可以很容易地通过列表给它一些属性:
现在我想定义两个集群/子图。这可以通过以下方式完成:
现在再次绘制图形,包括一个subGlist
参数:
因此,显然,设置发生了变化,即使将集群分开一点会很方便,但结果还可以。
现在,如果我想定义特定于集群的样式或尝试将它们框起来,我就会遇到问题。根据上述介绍性论文的第 4 页,可以简单地将一个名为的元素添加attrs
到subGlist
.
据我了解,它应该以这种方式工作:
不幸的是,事实并非如此。如前所述,我想构建我的集群(类似于this SO post),但由于我什至无法处理集群的字体颜色,我认为我犯了一个更根本的错误。
我的完整代码:
我希望有人能帮帮忙!谢谢
r - 安装 BiocManager 包的代码是什么?
我需要安装 Rgraphgviz 包,为此我找到了这段代码
看来我也需要安装 BiocManager 包。谁能帮我这个?还是有其他方法?
diagrammer - 使用 DiagrammeR 节点和边而不是 graphviz 创建流程图
我想使用带有 R 的 DiagrammeR 节点和边功能创建流程图,而不是使用 graphviz 包装函数。
但是,我不知道如何使边缘笔直以使其美观。
这是看起来像我想要的graphviz解决方案:
这是我尝试使用节点和边解决方案重新创建相同的图:
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_info
R 4.0.2。首先只是为了Tinytex
,然后是为了所有人:
对于所有人:
r - Graphviz 正在绘制带有 misig 箭头和节点圆形框架的 DAG
我正在试验 bnlearn R 库及其 DAG。我也是 R 新手。
我在这里尝试了代码示例
但后来我得到了这张图!
bnlearn.com/examples/graphviz-plot/
它缺少箭头和圆圈...我该如何解决?
sessionInfo() 输出:
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 甚至其他程序解决此问题的任何方法,我将不胜感激。谢谢!