問題タブ [r-graphviz]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
673 参照

r - Rgraphviz で `pos` 引数を使用してノードの位置を固定します

この質問に基づいて、円弧が別の円弧と重なっているときに自動的に湾曲し、プロットにpos属性を設定しようとしています。RGraphviz

誰かが属性を正しく使用する方法を示しposたり、より堅牢な回避策を提案したりできますか. ありがとう。

上記のリンクされた質問と一貫性を保つために、次の例はbnlearn、グリッド レイアウトのノードを持つグラフから開始します。

ヘルプページには、次のように設定する必要があることが?GraphvizAttributes示されていますpos

ノードの位置 (neato レイアウトの場合、これはノードの初期位置です)。各 val が double であるという概念 val,val を使用して指定されます。

neatoそして、属性のみについては、もう少し下に

pin: TRUE でノードが入力に pos 属性を持っている場合、neato はノードが入力位置から移動するのを防ぎます。この属性のデフォルトは FALSE です。

この引数を適用する正しい方法が見つかりません。

私が試したさまざまなことは成功しませんでした


この回避策で期待される結果を得ることができますが、堅牢ではありません。

期待通りの結果を出すために

ここに画像の説明を入力

0 投票する
0 に答える
83 参照

r - Rgraphviz ドット レイアウトのノードサイズが間違っている

次のグラフ オブジェクトをファイル("Test.txt") として保存しました。このグラフを Rgraphviz で視覚化したいと考えています。

ネイト レイアウトは正常に機能し、期待どおりの結果が得られます。ただし、ドット レイアウトを使用すると、ノード サイズが大きすぎます。

ノードサイズが間違っている Rgraphviz のドット レイアウト

ただし、このgraphviz Webサイトを使用して、まったく同じグラフをドットレイアウトでプロットすると、ノードサイズは問題ありません.

Rgraphvizでもノードサイズを手動で調整する方法はありますか?

0 投票する
1 に答える
40 参照

r - ラベルを 1 つだけ表示する RGraphviz ハッセ図

次のようなハッセ図を作成するには

ここに画像の説明を入力

1つは次のライブラリを使用しています

1 つは自分のデータの小さなサンプルを取得している

次に設定を作成します

そしてベター・ザン・グラフ (BTG)

関連する値を含むノードのラベルを表示するには、次のようにラベルを作成します。

ただし、ビジュアライゼーションを構築すると、

2 つのラベルではなく、最初のラベルのみが表示されます。ここに人が見ているものがあります

ここに画像の説明を入力

0 投票する
1 に答える
202 参照

r - R でノード位置を設定し、丸頭と矢頭の両方を使用してエッジを集中させたネットワーク グラフを作成する

DiagrammeR/GraphViz を使用して R で次のネットワーク グラフ形式を複製する方法を見つけようとしましたが、成功しませんでした (N1 の太い黒い矢印は無視してください): https://i.stack.imgur.com/oHpQz。 png

グラフは有向グラフであり、特定の方向の各辺は、辺の値が正の場合は矢印 (-->) で終わり、辺の値が負の場合は円/円 (--o) で終わります。ノードのペア (例: N1 -- A1) の間に、エッジ N1 --> A1 とエッジ A1 --o N1 が存在する可能性があります。一方の端に矢印、もう一方の端に円の頭 (このように: o--->)。これらは平行にすることも、理想的には 2 つのエッジのように見せることもできません。

もう 1 つの要件は、ノードが非常に特定の位置にある必要があり、エッジが変更される可能性があるモデル シミュレーション全体でそこにとどまる必要があることです。私が試したことと読んだドキュメントから、これは DOT 形式では実行できませんが、neato 形式では可能です。

ここで問題が発生します。neato では、ノードの x、y 位置を定義することで、ノードを必要な場所に正確に配置できます。ただし、concentrate = true を使用して 2 つの平行なエッジから o---> エッジを作成すると、1 種類の矢じりしか残りません。つまり、o---> のように見えるはずのエッジが、最終的に ---> または o--- のようになります。

これは、concentrate = true が実行するため、DOT 形式では問題になりませんが、DOT では正確なノード位置を割り当てることができません。ノードランクを使用してこれを回避しようとしましたが、うまくいきませんでした。同じランク内の異なるランクで必要なノードをスタックするようです。同様に、concentrate = true は、同じランク内のノード間のエッジには機能しないようです。それらを集中させずに 2 つの別個の曲線エッジ ---> および o--- として残すためです。

これが機能する必要がある理由は、エッジが変化するモデル シミュレーションを実行していて、そのようなグラフを何百も生成する必要があるためです。簡単に比較するには、一貫性を保つためにノードを同じ場所に配置する必要があります。

これは、neato 形式を使用して思いついた最も近いものです (ノードは希望どおりに配置されていますが、すべての黒いエッジから自己エッジを差し引いた適切な o---> が表示されていません。赤いエッジは真の一方向リンクです)。 : https://i.stack.imgur.com/YJBY7.jpg

エッジのみが適切な o---> 形式として表示された場合、これは私のニーズに最適です。DiagrammeR/GraphViz、または別のプログラムを使用してこの問題を解決する方法をご存じでしたら、よろしくお願いします。ありがとう!