我将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)
当使用代码时,我得到这个图:
什么时候看起来像这样:
答案 0 :(得分:4)
使用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
设置这些属性。
答案 1 :(得分:2)
创建图形对象后,您还可以使用
set_global_graph_attrs
设置这些属性。
我尝试了以上操作,但在执行以下操作时失败了:
set_global_graph_attrs(
graph = graph,
attr = c("layout", "rankdir", "splines"),
value = c("dot", "LR", "false"),
attr_type = c("graph", "graph", "graph"))
render_graph(graph2)
输出仍然具有与之前相同的图形属性。
使用magrittr %>%
然后为我工作。
graph1 <-
create_graph(
nodes_df = ndf,
edges_df = edf) %>%
set_global_graph_attrs(
attr = c("layout", "rankdir", "splines"),
value = c("dot", "LR", "false"),
attr_type = c("graph", "graph", "graph"))
此处所有节点,边缘和图形属性的文档:http://www.graphviz.org/doc/info/attrs.html#h:uses
答案 2 :(得分:0)
*set_global_graph*_attrs
现在 *add_global_graph_attrs*
(2020年1月)