問題タブ [graph-drawing]
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.
php - PhpMyGraph を使用してファイルからグラフを描画する
最近、PhpMyGraph5.0 を使用してファイルからグラフを描画しようとしています。作成者のサイト ( http://phpmygraph.abisvmm.nl/ ) には、次のサンプル ファイルがあります。
ファイルから入力を取得する必要があるため、例のファイルを変更して $data の割り当てを次のように変更しました。
MYFILE 内のテキストをフォーマットしました。これらはファイルのいくつかの行です。
しかし、グラフを描画しようとすると、グラフの代わりに次のメッセージが表示されます。
PhpMyGraph5.0.php で検索したところ、例外をスローするテストが見つかりました。
「throw Exception」をこのキャストに置き換えようとしました:
しかし、空のグラフしか得られません。
MYFILE の内容を $data = array(PASTE_HERE); 内に手動で貼り付けた場合 動作しますが、手動ではできません。
問題は値のデータ型に関するものだと思いますが、この問題を解決する方法がわかりません。
みんなに感謝し、私の悪い英語でごめんなさい。
c++ - 距離行列から頂点のデカルト座標を推測する
エッジの重みで距離を示すグラフの距離行列 (または隣接リスト) を指定して、2 次元の xy 座標系で頂点の正しい配置を見つけるプログラムを考え出そうとしています。
最初に、ブルートフォース検索を書きました。次に、この問題を解決するために、C++ プログラムを修正して、AB = C 行列方程式を解くことにしました。
INPUT : 距離行列
OUTPUT : 2d-xy 平面内の 2 つの頂点間の距離としてエッジの重みを考慮して、指定された距離行列を満たす頂点の座標。
これは私のプログラムのサンプル実行です:
これで、おおよその解が得られていることがわかります。あるいはそうしようとしているとも言えます。しかし、それは満足のいくものではありません。すべての反復の適合度を調べたところ、最初の数ステップの後はほぼ一定でした。それは、フィットネスがあまり改善されていないことを意味します。
前提 1. 私のプログラムはその隣接行列をランダムに生成しました。2. フィットネス変数は、コードでの意味の逆です。適合度の値が高く、解の質が低い
私の質問は >> このプログラムを微調整して、より良い結果が得られるようにする方法です (学習率とサンプル数を変更しようとしましたが、あまり成功しませんでした)。私が間違っていることと、より正確にする方法. これを行うための他の簡単な方法はありますか?隣接行列から座標を取得するという問題全体を意味しますか?
このコードは次のとおりです。
前もって感謝します :)。
アップデート:
入力に単位正方形の単純な距離行列を配置すると、正しい結果が得られます。しかし、そのようなグラフを生成することは、私にとって別の問題であるため、プログラムをテストする方法がよくわかりません。
python - グラフツールで背景色を変更する
グラフを視覚化するために、 graph-toolという名前の python パッケージを使用しようとしています。何らかの理由で、グラフを保存するたびに灰色の背景色が設定されますが、これは決して快適とは言えません。白に変更する方法を知っている人はいますか?
たとえば、このサンプル コードは次のとおりです。
iPython ノートブックで実行すると、画面に白い背景のグラフが表示されますが、保存された画像の背景は灰色になります。
結果は、出力に使用される形式 (少なくとも .png、.pdf、および .svg) に関係なく同じです。networkX ではそのような問題はありませんでしたが、グラフの描画は遅くなり、柔軟性が大幅に低下します。
助けてくれてありがとう!
javascript - Dagre で階層化されたグラフにノードを追加するときに相対的な順序を維持する
グラフ内の既存のノードをクリックすると動的にノードを追加する簡単な Dagre の例を作成しました。ただし、再レンダリングにより、同じレイヤー内で異なる相対的な順序が作成されます。とにかくこの問題の周りにありますか?
フィドルはこちらから入手できます: http://jsfiddle.net/gke2dann/
前もって感謝します。
PS: また、グラフの更新でこれらの派手な d3 トランジションを使用する方法はありますか?
c++ - Boost Graph Library の非平面グラフの平面埋め込み?
ブースト グラフ ライブラリには、最大平面グラフ用に平面埋め込みアルゴリズムが実装されているようです。また、非平面グラフを平坦化するために実装されているものはありますか? うまくいけば、交差を最小限に抑える何か。
Open Graph Drawing Frameworkにはいくつかの平面化コードがあることがわかりましたが、ブーストで何かがあればそれを使用したいと思います。
この前の質問は同様のことを尋ねていますが、boost でのそのようなアルゴリズムの存在について直接ではありません。
graphviz - Graphvizでノードを左揃えにする方法は?
graphvizでデジタル回路のネットリストを表示しようとしています。
私は頼っています:
- 入力/出力ポートを表す形状を記録します。
- 左から右への配置を提案するrankdir=LR
次のコードは正常に動作します。ただし、レイアウト中に、一部の入力 (ここでは「i3」) がずれている可能性があります。
どうやってやるの ?
python - Python で networkX パッケージを使用してグラフ パーティションを描画する
G
のノード0
とのノードのパーティションであるn-1
2 つのリストを持つグラフ オブジェクトがあります。ノードが 2 つのブロックに分割されるように描画したいと思います。図の目的は、との間の接続を明らかにすることです。このタスクの実行を手伝ってもらえますか?L1
L2
G
G
L1
L2
L1
L2
よろしくお願いします。
python - 固定位置のエッジでグラフを描く
私は NetworkX for Python を使用しようとしていますが、これまでのところはうまくいきましたが、描画に行き詰まっています。
私のデータは、実際には市内の交差点のリストです。ノードは X、Y (緯度、経度) の交差点であり、エッジは道路です。ここまでは至ってシンプル。
だから私は自分の小さな街を固定位置で描くことができました:
次のようになります。
やりたいこととまったく同じですが、エッジを追加する必要があります。したがって、次のように追加すると:
この恐ろしいエラーが発生します:
固定位置を設定しなくても問題なく描画できますが、エッジを静的にする必要があります。何かアドバイス?どうもありがとう!