問題タブ [jung2]

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 投票する
2 に答える
2206 参照

java - 文字列を二分木に変換する

この文字列を視覚化するという問題に直面しています:

"=IF(A2=1;0;IF(D2=D3;IF(C2=1;TRUE;FALSE);4))";

ご覧のとおり、一般的な構文は Excel の数式に似ているため、IF(TEST; TRUE; FALSE)

私の問題は、ライブラリJUNG2を使用して、この文字列をバイナリ検索ツリー形式で視覚化したいことです。以下に、ツリーがどのように見えるかの例を示します。

ここに画像の説明を入力

現時点で頂点を視覚化するコードを次に示します。

配列内の文字列からすべての頂点をレンダリングできますr。私の問題は、これらすべての頂点を適切なエッジに接続する方法がわからないことです。すべての頂点を右のエッジに接続する方法はありますか?

あなたの答えに本当に感謝します!

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

layout - レイアウトのロケーション アルゴは、フィルタリングされた一連の頂点に適用されます

レイアウトの役割は、指定された場所に頂点を配置することです。レイアウトが反復的である場合、レイアウトの仕事は、最終的なレイアウト構成が達成されるまで、各ステップで頂点を移動しながらアルゴを反復することです。

私はマルチレベルのグラフを持っています - タイプAの100個のオブジェクトとしましょう。各 A オブジェクトには子として 10 個のオブジェクトがあります。子をタイプ B オブジェクトと呼びます。

レイアウトの場所の配置アルゴがタイプ A のオブジェクトのみ (たとえば) で動作し、B オブジェクトを無視するようにしたいと考えています。

この目的を達成する最もクリーンな方法は、変換を定義して、step メソッドを介して「アルゴ」配置操作に参加する必要がある要素を公開することです。

現在、ステップ メソッドは、ロック フラグを尊重すると仮定して、最初にロックされた頂点を含む計算を行うため、この場合、ロック/ロック解除は機能しません。

複数のグラフ オブジェクトに頼らずにこれを行うことは可能ですか?

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

java - java.lang.IllegalArgumentException: ツリーにまだ子が含まれていてはなりません

次のjung2ビジュアライゼーションを作成しました。私のコードは、テキストをツリーに視覚化します。基本的に、一度に 1 つずつ、2 つの入力を使用しています。

私の問題は、最初の入力が期待どおりに機能することですが、 の代わりにInput 2最後の要素が異なる を使用すると、エラーが発生します。4TRUE

紛らわしいのは、文字列が正しく解析され、次のようにプログラムで正しく使用できることです。

[IF, A2=1, 0, IF, D2=D3, IF, C2=1, TRUE, FALSE, TRUE]

input 2コメントで(「壊れた」入力)で実行可能な私のプログラムのバージョンは次のとおりです。

入力 2 でコードを実行すると、投稿されたエラーが表示されます。これが当てはまる理由はありますか?木の葉は固有のものでなければならないので、これはちょっとばかげているかもしれませんが、弦は同じだと思います。したがって、この問題に対処するにはどうすればよいでしょうか。

あなたの答えに感謝します!

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

java - ユーザーが山から1つを選んだときに、Jung2にノードを一番上に移動させる方法は?

フレームにグラフを表示する Jung2 に同梱されている例に基づいて、デスクトップ アプリケーションを作成しました。このアプリケーションでは、ユーザーがEditingModalGraphMouseクラスを使用して選択したノードを移動できます。

ただし、ユーザーが多数のノードが重なり合っている領域からノードをクリックしてドラッグすると、アプリケーションは実際には、一番上のノードを選択するのではなく、山の一番下のノード (表示されていません) を選択します。 (ユーザーに表示されます)。

クラスを掘り下げて、ノードの選択が実際にどこで行われるかを確認しようとしていますが、少し混乱しています。アクションは、によって返されたオブジェクトを使用してPickingGraphMousePlugin.mousePressed(...)メソッドで行われると思います。pickSupportvv.getPickSupport()

私の質問は次のとおりです。ユーザーがノードをパイルから選択したときに、アプリケーションでノードを一番上に移動させるにはどうすればよいですか? そして、それを管理するクラスは何ですか?

私はJungバージョン2.0.1を使用しています。

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

java - Jung VoltageScorer - 「ソース」と「シンク」として使用する頂点は?

VoltageScorer を使用して、Jung のグラフの頂点の電圧スコアを評価したいと思います。( http://jung.sourceforge.net/doc/api/edu/uci/ics/jung/algorithms/scoring/VoltageScorer.html )

私が遭遇する問題は、そのためには「ソース」頂点と「シンク」頂点を提供する必要があるが、どの頂点を「ソース」として使用し、どの頂点を「シンク」として使用するべきかわからないということです。

ドキュメントのコンストラクターの概要の1つは次のとおりです。

どの頂点を「ソース」として使用し、どの頂点を「シンク」として使用する必要があるかを判断する方法について、誰かが説明できますか?

お時間をいただきありがとうございます。

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

java - Jung: フレームに凡例を追加する

フレームに凡例を追加して、さまざまな色のリンクとノードの意味を示す必要があります。Jung には組み込みの凡例機能がありますか? または、右側にパネルを追加して独自に作成する必要がありますか。

ここに画像の説明を入力

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

java - Java: Jung2 Network のエッジの中央に矢印を配置します。

有向エッジを持つネットワークがあります。矢印は、GUI のエッジの方向を示します。しかし、図に示すように、矢印がエッジの端にあると、かなり混乱します。矢印の位置を中央または端の他の位置に変更することは可能ですか?ここに画像の説明を入力

編集:

このメソッドを使用して定義された位置に矢印を設定できることがわかりましたが、このメソッドの使用方法に関する例はまだ見つかりませんでした。リンク

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

java - HQ 画像を PDF にエクスポートする Java 自動化

Jung で作成されたネットワークの高品質の画像を取得したいと考えています。FreeHEP VectorGraphics ライブラリの ExportDialog は、このオプションをダイアログ ボックスの形式で提供します。

vvは、印刷したい VisualizationViewer です毎回ファイルの種類と場所を選択することを避け、エクスポートを自動化して、ファイルが自動的にフォルダーに pdf ファイルとして保存されるようにしたいと考えています。そこで、次のコードを書きましたが、必要な画像が生成されません。

関連リンク : JUNG グラフを高解像度画像 (できればベクター ベース) にエクスポートする、およびhttp://java.freehep.org/vectorgraphics/Manual.html

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

java - Edge ラベル オフセットの不具合

Jung2ネットワークでエッジ ラベルをオフセットしようとしたときに、特有の問題が発生しました。

下の図に示すように、ラベルによって自己ループが見にくくなります。ここに画像の説明を入力

そこで、ラベルをオフセットすることにしました。

そしてその効果:

ここに画像の説明を入力

オフセットは、必要なエッジ (セルフ ループ) を除くすべてのエッジに有効です。誰にも解決策または回避策がありますか?

編集:

EdgeLabelClosenessTransformer の機能を知っている人はいますか? そして、それをどのように使用するのですか?これは私の問題を解決するかもしれません。

アップデート:

これを試してみましたが、自己ループ ラベルは影響を受けません。

0 投票する
2 に答える
188 参照

jung - jung の頂点をエッジで接続すると、別の余分な頂点が作成されます

JUNG 既存の 2 つの頂点JUNGを接続して頂点に接続し、余分な頂点を作成するときに、頂点の作成、接続、および色付けのコマンドを取得するためのインターフェイスを実装しています。なぜですか?

connect メソッドのコードは次のとおりです。

私がコードを実装した方法を知りたい場合に備えて、これは create メソッドです。

2 つのノードを接続する前後のグラフ イメージ:

ここに画像の説明を入力

ここに画像の説明を入力

そしてここに私のBehGraphUndirectedクラスがあります: