2017-12-08 11 views
0

はのは非常に簡単な図を作成してみましょう: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) 

enter image description here

図は、一つのノードから別のエッジを示しています。
通常、矢印の頭で縁をペイントしますが、反対の記号であるテールヘッドでペイントしたいと思います。

私はパラメータを使ってこれを見つけました。arrowhead = "inv"代わりに矢印を尾にすることができます。 (私の例では、DからEまでの端に尾があります)。

しかし、問題がある、尾が間違った側に描かれています。私は端(矢印)の始めにそれをペイントしたいと思います。

どうすれば変更できますか?

パラメータrel = "leading_to"がありますが、取得できる他の値が見つかりませんでした。
また、 "dir"というパラメータもありますが、どちらを使うかわかりません。

ありがとうございました。

Diagrammerがエッジのすぐ上にラベルを書かないようにするにはどうすればよいですか?私は彼らが重なり合わないようにしたい。

+0

ベクトルはあなたに結果を得るために、あなたは私が考えていた可能性のある解決策だったこと – troh

+0

たいが、私は必要があるだろう」「から」と切り替えていますか?を元の入力を変更せずに、より洗練されたソリューションを探していました。 – skan

答えて

1

あなたは、「戻る」ディレクトリを切り替えることができます

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) 
関連する問題