相关疑难解决方法(0)

bnlearn + Rgraphviz:自定义绘图时,双箭头而不是无向边

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

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

set.seed(1)
x1 = rnorm(50, 0, 1)
x2 = rnorm(50, 0, 1)
x3 = x2 + rnorm(50, 0, 1)
x4 = -2*x1 + x3 + rnorm(50, 0, 1)
graph = data.frame(x1, x2, x3, x4)

library(bnlearn)
library(Rgraphviz)

res = gs(graph)
options(repr.plot.width=3, repr.plot.height=3)
g1 <- graphviz.plot(res)
Run Code Online (Sandbox Code Playgroud)

图未定制:

在此输入图像描述

到现在为止还挺好.但是,如果我尝试自定义它:

plot(g1, attrs = list(node = list(fontsize=4, fillcolor = "lightgreen")))
Run Code Online (Sandbox Code Playgroud)

自定义图表

在此输入图像描述

无向边缘被转换.

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

r bayesian-networks bnlearn r-graphviz

2
推荐指数
1
解决办法
625
查看次数

标签 统计

bayesian-networks ×1

bnlearn ×1

r ×1

r-graphviz ×1