簡體   English   中英

如何在Diagrammer,R中反轉箭頭(尾部)?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM