나는 다음과 같은 장난감의 예와 같이 diagrammer와 네트워크 그래프, 플롯 ...다이어그램으로 엣지 크로싱 수를 최소화하는 방법, R?
library(DiagrammeR)
Dia <- function(edg, nodesd) {
nodes <- create_node_df( n=length(nodesd), label=nodesd,
width=0.3)
edges <- create_edge_df(from = edg$EveFrom, to = edg$EveTo,
rel = "leading_to")
graph <- create_graph( nodes_df = nodes, edges_df = edges)
render_graph(graph)
}
niv <- c("A","B","C","D","E","X","Y")
temp <- data.table(EveFrom=factor(c("A","A","A","A","B","C","D","E",
"X", "B"), levels=niv),
EveTo=factor(c("B","C","D","E","X","X","Y","Y","Y", "C"), levels=niv))
Dia(temp,niv)
어떻게 자동으로 에지 교차점의 수를 최소화하기 위해 diagrammer 알 수 있습니까?
이 간단한 예에서 C 및 B 위치가 바뀌면 결과에 가장자리가 교차하지 않습니다. 더 복잡한 예에서는 모든 교차점을 제거 할 수는 없지만 최소 교차점은 최소화합니다.
visnetwork으로 나는 노드
을 재배치 할 수 있습니다하지만 당신이 벡터 그래픽으로 수출하지 않는 예를 들어, 다른 단점이 있습니다.
이 내 visnetwork 결과를 모방하는 것도 가능을? (예 : 각 가장자리에 레이블을 추가하거나 가장자리 너비를 변경) – skan
레이블 : 예,'create_edge_df' (문자열의 벡터)에'label' 인수를 추가하십시오. – bergant
너비 : 예 :'penwidth' = 3 사용 – bergant