plot_adjacency_mat <- function (adj_mat, title = NULL, draw_edge_labels = TRUE, node_labels = NULL,
round_digit = 2, layout = "neato")
{
nodes <- DiagrammeR::create_node_df(ncol(adj_mat), label = node_labels)
graph <- DiagrammeR::create_graph(nodes, directed = TRUE)
adj_mat <- round(adj_mat, round_digit)
for (i in seq_len(ncol(adj_mat))) {
non_zero_idx <- which(abs(adj_mat[, i]) > 0)
for (j in non_zero_idx) {
if (draw_edge_labels) {
graph <- DiagrammeR::add_edge(
graph = graph,
from = i, to = j,
edge_aes = DiagrammeR::edge_aes(label = adj_mat[j, i])
)
} else {
graph <- DiagrammeR::add_edge(
graph = graph,
from = i, to = j
)
}
}
}
DiagrammeR::render_graph(
graph = graph,
layout = layout,
title = title
)
}
おそらくDiagrammeRの仕様変更のためにplot_adjacency_mat() が正常に動かなくなってしまったようです。
以下のようにrender_graph()のlayout引数の部分を修正すると動くようになりました。
修正をご検討いただけるとありがたいです。