[英]How to reverse arrows (tails) in Diagrammer, R?
讓我們創建一個非常簡單的圖:
niv <- c("A","B","C","D","E")
from <- c("A","A","A","E","B","C","D")
to <- c("B","C","D","B","C","A","E")
arr <- c(rep("normal",6), "inv")
temp <- data.table(from=factor(from, levels=niv),
to=factor(to,levels=niv))
nodes <- create_node_df(n=length(niv), label=niv,
width=0.3)
edges <- create_edge_df(from = temp$from,
to = temp$to, rel = "leading_to", label=temp$from,
arrowhead=arr, penwidth=3, color="blue")
graph <- create_graph(nodes_df=nodes,edges_df=edges)
render_graph(graph)
該圖顯示了從一個節點到另一節點的邊緣。
通常人們用箭頭畫邊緣,但是我想用相反的符號畫尾巴。
我發現通過使用參數arrowhead =“ inv”可以將箭頭更改為尾巴。 (在我的示例中,從D到E的邊緣有一條尾巴)。
但是有一個問題,尾巴塗在錯誤的一側。 我想在邊緣的起點(箭頭)繪制它。
我該如何更改?
有一個參數rel =“ leading_to”,但我無法找到它可以得到的其他值。
也有一個參數“ dir”,但我也不知道如何使用它。
謝謝。
一個額外的問題是:如何防止Diagrammer在邊緣上方書寫標簽? 我希望它們不會重疊。
您可以將目錄切換為“后退”:
library(DiagrammeR)
library(data.table)
niv <- c("A","B","C","D","E")
from <- c("A","A","A","E","B","C","D")
to <- c("B","C","D","B","C","A","E")
temp <- data.table(from=factor(from, levels=niv),
to=factor(to,levels=niv))
nodes <- create_node_df(n=length(niv), label=niv,
width=0.3)
edges <- create_edge_df(from = temp$from,
to = temp$to, dir = "back", label=temp$from,
arrowtail="inv", penwidth=3, color="blue")
graph <- create_graph(nodes_df=nodes,edges_df=edges)
render_graph(graph)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.