問題タブ [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.
java - JUNG: 頂点形状を動的にサイズ変更して矢印を正しく配置するにはどうすればよいですか?
はじめに
私は、グラフの頂点をさまざまなサイズでレンダリングするプロジェクトに取り組んでいます(相対的な作業負荷に応じて)。
問題
私はそれがどのように機能することを期待していましたか
頂点の動的サイズ変更をオフにすると、次のようになります。
したがって、ここではすべてが正しいです。接続円は、円形の境界線上に配置されます。
この結果は、リスト 1のコードによって達成されます。
動的サイズ変更で実際に起こること
ここで、接続円が境界近くのどこかに配置されていることがわかりますが、常に正しい位置がありません。
この結果は、リスト 2のコードによって達成されます。
リスト 1 - サイズ変更なし
リスト 2 - サイズ変更あり
実際には、頂点内の頂点の形状の 10 の異なるサイズを遅延して事前計算しています。しかし、このコード スニペットはより明確で、同じ結果を達成します (パフォーマンスは劣りますが)。
私がすでに試して見たこと
これはすべてedu.uci.ics.jung.visualization.renderers
パッケージで行われます。
BasicEdgeArrowRenderingSupport
この問題を修正するために利用できるものがないかクラスをチェックしました- の `flatness` であるかどうかを確認し
PathIterator
ましたBasicEdgeArrowRenderingSupport
arrowPlacementTollerance
それがパラメータであるかどうかを確認しました
質問
リスト 1で生成された目的の結果を達成するにはどうすればよいでしょうか?リスト 2のように形状を動的にサイズ変更します。
この質問に対する答えは、次のいずれかになると思います。
- 私がした(論理的またはプログラム的に)いくつかの本質的な失敗があります
- または、エッジ矢印レンダリング サポートの基本的な問題です。
java - JUNG - MouseOver で頂点とエッジの厚さを変更するにはどうすればよいですか
私はツールを開発していますが、ユーザーが頂点またはエッジを簡単に選択できるようにしたいと考えています。
現在、マウスでホバリングしているときに頂点またはエッジの厚さ (強調表示) を変更する方法を探しています。
そして、ズームインすると、頂点またはエッジのサイズを大きくしたいと思います。現時点では、それらはより小さくなります。私は近くにズームします。
誰でも私を助けることができますか?
前もって感謝します。
PS: ホバリング中に頂点の名前を表示するために vv.setVertexToolTipTransformer を使用しますが、問題は解決しません。
jung2 - JUNGプログラミングを始めるには?
グラフを使ったプログラミングから始めなければならず、JUNG 2 を使用するためにインターネットを調べました。
私はドキュメントを読んでいますが、そのようなプログラムを実装するために最初から私を導いてくれる人はいますか? このリンクに記載されている jar ファイルをダウンロードしました: http://jung.sourceforge.net/download.html
誰かが私がさらに何をすべきか教えてもらえますか?
これは素朴な質問のように見えるかもしれませんが、私は始めたばかりで、助けていただければ幸いです。
前もって感謝します。
java - MavenでJUNGライブラリを構築する
私は Java が初めてで、Maven を使用して JUNG 2.2 ライブラリをビルドしたいと考えています。これがビルドの標準的な方法と思われるからです。これまでMavenを使用したことはありませんでしたが、インストールは難しくmvn clean install
なく、問題なく実行できました。
現在、JUNG には 6 つのサブパッケージ (API、実装、アルゴリズム、I/O、視覚化、およびサンプル) があり、それぞれjung-api
にディレクトリがあります (例: API パッケージのディレクトリ)。install
ターゲットはいくつかの Java .classファイルを生成し、それらをtarget/classes/
6 つのディレクトリのそれぞれのディレクトリに配置します。
ライブラリを使用するために次に何をすればよいか戸惑っていCLASSPATH
ます。シェルの変数にjung ディレクトリ パスを追加するだけでよいのでしょうか。jung-api.target.classes.edu.uci.ics.jung.graph.*
しかし、その場合、入力するのに非常に長いだけでなく、Java コンパイラがパッケージ名に使用したくない「-」を含むものをインポートする必要があります。「-」の問題をバイパスしても、実行時エラーが発生します。
OS X 10.9.5 で javac 1.8.o_91 を使用しています。