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

时间:2017-03-21 17:40:27

标签: r text size 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)

上面的代码有效,但是图中文本的大小比我预期的要小。这是:

enter image description here

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

enter image description here

有没有办法增加情节中文字的大小?

1 个答案:

答案 0 :(得分:4)

这基本上在帖子here中得到解答(虽然这不是OP唯一的问题)。

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

par(cex=0.05)
graphviz.plot(res, highlight = 
                list(nodes=nodes(res), fill="lightgreen", col="black"))

但我发现这不起作用。

或者(这就是我一直在做的)是分别改变节点特性:

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