我将我的diagrammer更新为0.9.0版,并开始根据同一数据绘制不同的图表。我的数据框现在看起来像这样:

df <- data.frame(col1 = c( "Cat", "Dog", "Bird"),
                 col2 = c( "Feline", "Canis", "Avis"),
                 stringsAsFactors=FALSE)

其余代码如下所示:
uniquenodes <- unique(c(df$col1, df$col2))
library(DiagrammeR)
nodes <- create_node_df(n=length(uniquenodes), nodes = seq(uniquenodes),  type="number", label=uniquenodes)
edges <- create_edge_df(from=match(df$col1, uniquenodes), to=match(df$col2, uniquenodes), rel="related")

g <- create_graph(nodes_df=nodes, edges_df=edges)
render_graph(g)

使用代码时,我得到此图:
r - 如何在R中重新排列图-LMLPHP
何时应如下所示:
r - 如何在R中重新排列图-LMLPHP

最佳答案

attr_theme = NULL创建图:

g <- create_graph(nodes_df=nodes, edges_df=edges, attr_theme = NULL)


在当前版本中,DiagrammeR将全局属性layout设置为neato。
您可以使用以下方法进行检查:

g <- create_graph(nodes_df=nodes, edges_df=edges)
get_global_graph_attrs(g)

#           attr      value attr_type
# 1       layout      neato     graph
# 2  outputorder edgesfirst     graph
# 3     fontname  Helvetica      node
# 4     fontsize         10      node
# 5        shape     circle      node
# 6    fixedsize       true      node
# 7        width        0.5      node
# 8        style     filled      node
# 9    fillcolor  aliceblue      node
# 10       color     gray70      node
# 11   fontcolor     gray50      node
# 12         len        1.5      edge
# 13       color     gray40      edge
# 14   arrowsize        0.5      edge


创建图形对象后,还可以使用set_global_graph_attrs设置这些属性。

10-07 19:04