2017-02-10 4 views
3

diagrammer을 버전 0.9.0으로 업데이트하고 같은 데이터에서 다른 다이어그램을 렌더링하기 시작했습니다. 내 데이터 프레임은 이제 다음과 같습니다다이어그램을 R에 재배치하는 방법

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) 

나는이 그림 얻을 코드를 사용하는 경우 :

enter image description here

을 다음과 같이 표시되어야합니다.

enter image description here

답변

4

attr_theme = NULL와 그래프 만들기 : 현재 버전에서

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

는 DiagrammeR는 니토에 전역 속성 layout을 설정합니다. 당신은 이것을 확인할 수 있습니다

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 이러한 속성을 설정할 수 있습니다.

+0

. 내가 어떻게 해? @larnsce 솔루션이 나를 위해 작동하지 않습니다. – skan

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

문서는 여기 속성 : I는, attr_theme = circo 또는 twopi와 같은 다른 옵션을 사용하여 시도했지만 작동하지 않는 한 http://www.graphviz.org/doc/info/attrs.html#h:uses

관련 문제