Skip to content

plot_adjacency_mat() が正常に動かない #4

@morimotoosamu

Description

@morimotoosamu

おそらくDiagrammeRの仕様変更のためにplot_adjacency_mat() が正常に動かなくなってしまったようです。
以下のようにrender_graph()のlayout引数の部分を修正すると動くようになりました。
修正をご検討いただけるとありがたいです。

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
  )
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions