如何在R中使用bnlearn增加贝叶斯网络图中的文本大小

Gün*_*nal 4 size text r bayesian-networks bnlearn

我正在尝试使用bnlearn在R中绘制一个Bsyesian网络。这是我的R代码

library(bnlearn)
library(Rgraphviz)

first_variable <- rnorm(100)
second_variable <- rnorm(100)
third_variable <- rnorm(100)
v <- data.frame(first_variable,second_variable,third_variable)

b <- hc(v)
hlight <- list(nodes = nodes(b), arcs = arcs(b),col = "grey", textCol = "red")
pp <- graphviz.plot(b, highlight = hlight)
Run Code Online (Sandbox Code Playgroud)

上面的代码可以工作,但是情节中文本的大小比我预期的要小得多。这里是:

在此处输入图片说明

我认为这是因为我的变量名很长。在我的真实数据中,变量名称甚至更长。这是我的真实数据集的BN图:

在此处输入图片说明

有什么办法可以增加图中文字的大小吗?

Mik*_*Mik 5

这基本上在这里的帖子中得到了回答(尽管这不是OP的唯一问题)。

建议的两种方法是全局更改文本大小:

par(cex=0.05)
graphviz.plot(res, highlight = 
                list(nodes=nodes(res), fill="lightgreen", col="black"))
Run Code Online (Sandbox Code Playgroud)

但是我不认为这可行。

或者(这是我一直在做的)是分别更改节点特征:

g <- Rgraphviz::layoutGraph(bnlearn::as.graphNEL(b))
graph::nodeRenderInfo(g) <- list(fontsize=20)
Rgraphviz::renderGraph(g)
Run Code Online (Sandbox Code Playgroud)