問題タブ [jung]
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.
java - フローチャートのような図を視覚化するための Java グラフ ライブラリ
次のようなノードを含む図 (基本的には回路図) のようなフローチャートを描画するためのインターフェイスを作成中です。
つまり、各ボックスにはいくつかの入力エッジといくつかの出力エッジがあります。視覚的にわかりやすくするために、すべての入力エッジを一方の側にグループ化し、すべての出力エッジをもう一方の側にグループ化すると、より理にかなっています。
インターフェイスには、異なるボックスの入力と出力を一緒に接続するユーザーが含まれます。
ダイアグラムをきれいに保つための自動レイアウトツールも備えた、このようなインターフェイスを簡単に構築するのに役立つJavaライブラリを見つけようとしています。http://www.jgraph.com/とhttp://jung.sourceforge.net/は、私が必要とすることのほとんどを行うように見えますが、ノードを上記の入力と出力のようにするかどうかはわかりませんがまとまっています。たとえば、JUNG でこれを行う方法がわかりません。
どのライブラリを使用する必要があり、ノードを上記のように見せるために何ができるかを誰でも提案できますか?
java - 共著を保存するデータ構造は?
本のタイトルと出版年を含む著者のリストがあります。たとえば、次のようになります。
Brian Goetz、Tim Peierls、Joshua Bloch、Joseph Bowbeer、David Holmes、Doug Lea: Java Concurrency in Practice、2006 年
Ken Arnold、James Gosling、David Holmes: Java プログラミング言語、2005 年
...
私は、共著者、彼らが一緒に書いた本、出版年に関する情報を保存するのに最適なデータ構造を疑問に思っていました。
後でこの情報を使用してグラフを描画したいと思います(Jung、私はJavaを使用しています)。各著者はノードであり、エッジは彼らが共著した各本になります。毎年別のグラフが描かれます。マルチマップの使用を考えていました:
しかし、これは複雑すぎるのでしょうか?
助けてくれてありがとう。
java - JUNGレイアウト変換を正しく使用するにはどうすればよいですか?
JUNGのDAGLayoutアルゴリズムを使用し、その後、レイアウト座標を自分のデータ構造に再度読み取る際に問題が発生しました。
sとsのリストを含むNetwork
クラスがあります。これをJUNGデータ構造に変換するために、オブジェクトを作成してエッジを追加します。ノードオブジェクトを返します。Node
Edge
DirectedSparseMultigraph
e.getSrc()
e.getDest()
次に、レイアウトアルゴリズムを適用します。
その後、頂点座標を取得するためにレイアウトに使用します。
ただし、Node
オブジェクトには常に(0,0)が(x、y)として含まれます。
なぜこれがこのように機能しないのですか、そしてどうすれば修正できますか?
java - JUNG でエッジ ラベルと値を取得するにはどうすればよいですか?
JUNG とエッジ (頂点) ラベルに問題があります。
私のアプリケーションは JUNG に基づいています。与えられたグラフからいくつかの値を計算する必要があります。グラフは「手で」溺れる必要があり、そのグラフで「開始値」を設定する必要があります。その値にラベルを使用することを考えていました(頂点の名前、エッジの長さ)。
これで、グラフを描くことができます。頂点と辺の数は取得できますが、ラベルと値の取得方法がわかりません。
エッジと頂点にカスタム クラスを使用してみましたが、ラベルの設定方法がまったくわかりません。
これは私のコードの一部です。これはドキュメントから取得されます。グラフの描画中にラベルを設定し、その後値を取得できるように、何を変更すればよいか教えてもらえますか?
java - MVC-gui で JUNG2 を使用するにはどうすればよいですか?
私は JUNG2 をいじっていて、グラフを表示および変更できる小さな GUI を実装したいと考えていました。JUNG ライブラリの例に従うことはうまくいきましたが、モデル、ビュー、およびコントローラーを分離していません。そこで、きれいに分離して GUI を構築し始めました。
私の最初のバージョンの GUI は、単純に初期グラフを表示するためのものです。ビューはモデルのオブザーバーであり、グラフが変更されるたびに通知を受け取ります。これは、グラフの初期化ステップで 1 回だけ発生します。ただし、グラフは画面の中央には表示されませんが (非 MVC の例のように)、左上隅にグラフの一部が表示されます。
さて、これは一般的な質問につながります: モデルが変更されたことをユング視覚化コンポーネントにどのように伝えることができますか? そして後で: MVC アーキテクチャの Jung-Mouse のような、すぐに使えるコンポーネントを使用するにはどうすればよいですか? JUNG にはモデル、ビュー、コントローラーが混在しているようですが、それらを適切に使用する方法と場所がわかりません。
編集: Jung チュートリアルは、マウスを使用して変更を管理する方法を示していますが、モデルの変更に基づいてビューを変更する方法は示していません (他のオプション、たとえば「ノードの追加」ボタンなど)。
これまでの私の最初の試みは次のとおりです。
景色
モデル
コントローラー
メインクラス
java - JUNG、ビジュアライゼーション ビューアでグラフ参照を変更
マウスでグラフ/ネットワークを描画できる小さなグラフ エディタを jung で開発しました。描画するパネルとして VisualizationViewer を使用します。VisualizationViewer は、含まれる GraphLayout を介して表示する必要があるグラフを保持します。また、グラフをテキスト ファイルに保存する保存関数もあります。
いくつかのアルゴリズムを使用して新しいグラフ オブジェクトを生成するクラスを作成しました。
生成されたグラフを次の方法で表示したい場合:
新しいグラフは完全に表示され、さらに描画することができます。
しかし、保存関数 (および VisualizationViewer の基になる Graph オブジェクトを使用する他のすべての関数) は、適切に機能しなくなりました。ノードが 1 つしか認識されていないか、ノードが認識されていません (NullPointerException が発生します)。基になる Graph データ構造を取得するたびに、次を使用します。
私はここに何か欠けていますか?それとも、フレームワーク内に修正されていない既知のバグがありますか? 基になるオブジェクトのプログラムによる取得がそうではないのに、光学部分が完全に機能しているのは奇妙に思えます。
java - JUNG - エッジピッキング (マウスイベント)
JUNG グラフでのピック イベントの処理に問題があります。GraphMouseListener インターフェースを使用して頂点のクリックをリッスンしていましたが、エッジの選択のサポートを追加する必要があり、ドキュメントでそれを行う方法が見つからないようです。
ポインタはありますか?
ありがとうございました
java - ポリツリー フォレスト
私のハード ドライブには有向グラフがあり、おそらくポリツリーの森だと思います。
- 接続された頂点の独立したパーティションを作成したいと思います。
- 各パーティションがポリツリーであることを確認し、ルートを見つけたいと思います。
JUNGにやってもらえますか?提案する別のJavaグラフライブラリはありますか?
java - JUNGで頂点のサイズ/色を変更する
Jung Visualization Libraryの特定の頂点のサイズをどのように変更しますか?
私はドキュメントを読んでいますが、Javaにあまり精通しておらず、オンラインで良い例を見つけることができません。