我正在尝试使用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)
上面的代码有效,但是图中文本的大小比我预期的要小。这是:
我认为这是因为我的变量有很长的名字。在我的实际数据中,变量名称甚至更长。这是我的真实数据集的BN图:
有没有办法增加情节中文字的大小?
答案 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)