問題タブ [graph-visualization]

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

graphviz - graphvizでノード境界を非表示にするにはどうすればよいですか?

graphvizでグラフを描いています。ノードはありますがpenwidth=0、まだノードの境界が見えます。ノード境界を取り除くにはどうすればよいですか?

ドットでの私の注釈は次のようなものです:

0 投票する
4 に答える
995 参照

wolfram-mathematica - 元のレイアウトの機能を維持しながら、小さな変更を加えた後の再レイアウト グラフ

Mathematica 8で次のことを行う簡単な方法はありますか?

  1. グラフを作成し、グラフ レイアウトを使用して表示します。
  2. グラフを少し変更します (たとえば、エッジまたは頂点を追加または削除します)。
  3. オブジェクトの「形状」が多かれ少なかれ保持されるように、元のレイアウトから開始してレイアウトを再計算します。たとえば、以前のレイアウトの座標から開始するスプリングエレクトリック レイアウト アルゴリズムを再実行します。

2 つのディスプレイ間でグラフが変更されていない場合、レイアウトも (または最小限に) 変更されるべきではありません。新品のディスプレイを使用しても、GraphどちらでもGraphPlotかまいません。

編集:本質的に、同様のグラフには同様のレイアウトが必要です。すでにレイアウトされている可能性のある既存のグラフを変更することで、常に同様のグラフを取得しますが、一般的なソリューションはすべて受け入れられます。

EDIT 2:この種のものが役立つ例を次に示します。http://ccl.northwestern.edu/netlogo/models/GiantComponentに移動し、[ブラウザーで実行] をクリックします (Java が必要)。[セットアップ] をクリックし、[実行] をクリックします。グラフが進化しているのがわかります。Mathematica でこれを行うと、連続するグラフのそれぞれが完全に異なって見え、進化しているのが同じグラフであることがわかりにくくなります。いくつかのアプリケーションでは、グラフの小さな変化を視覚化できると非常に便利です。しかし、多くの連続した変更が行われた場合、レイアウトの再計算は必須であり、単純にエッジをフェードまたはハイライトするだけでは十分ではありません。繰り返しますが、これは単なる例です。Mathematica を使用してグラフをアニメーション化したり、巨大なコンポーネントの出現を視覚化したりするつもりはありません。

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

python - Python を使用して (インタラクティブな) 3D でグラフを視覚化するにはどうすればよいですか?

次のような Python のグラフがあります。

これは小さな例です。私が作成したアプリケーションは、約 100 個の頂点と 300 個のエッジを持つグラフを使用しています。

これをPythonで、できればUbuntuで利用可能なライブラリで視覚化したいと思います。3D ビジュアライゼーションでグラフを移動できれば素晴らしいと思います。

これまでに行ったこと

現時点ではUBIGRAPHを使用しています。視覚化と相互作用は非常に優れていますが、頂点の座標を指定できません。

マットプロット

matplotlibを見つけましたが、非常に大きいです。私が好きなことをする例は見つかりませんでしたが、見逃したかもしれません。Ubuntuで利用できます。

vtk

matplot と同じ問題。実用的な例をいくつか教えていただければ、それが最善の解決策になるかもしれません。

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

graphviz - グラフDBスキーマの最適なドット/GraphVizレイアウト

グラフDBスキーマの計画を支援するために、初めてdot+GraphVizを使用しています。

ノードを追加すると、出力は理想的とは言えません。特に、言語と国はかなり混乱しているように見えます。

基本的なランキングをいくつか試しましたが、あまり影響を与えることができませんでした。

より明確な出力を取得するにはどうすればよいですか?

コード:

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

actionscript-3 - Flare 可視化ライブラリは現在も開発/サポートされていますか?

Flare actionscript ライブラリについて知ったばかりで、いくつかのプロジェクトで使用することを考えていました。ただし、まだある程度サポートされているかどうかは疑問でした。フォーラムを確認しましたが、すべてのメッセージはすでに少し古いようです...

誰もこれについて何か情報を持っていますか?

前もって感謝します。

乾杯、

パブロ

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

graph - Graphvizはこのタイプのグラフに最適なツールですか?

以下のようなグラフを作成したいのですが、複雑すぎます。正方形のノードごとに別々の画像を使用し、円のノードごとに同じ画像を使用したいと思います。

GraphVizを使用することが最良のオプションなのか、それとも他のオプションがあるのか​​知りたいのですが。

また、GraphVizでサークルノードのテンプレートノードを作成して再利用できるかどうか知りたいのですが。画像や形などの属性を何度も指定したくありません。

サンプルグラフ

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

python - Python でのグラフのインタラクティブな視覚化

モジュールnetworkxを使用して動的グラフを作成するPythonで書かれたプログラムがあります。頂点は一定のままですが、エッジが変化する平面グラフです。今、できれば迅速かつ迅速に次の 2 つのことを実行できるライブラリを探しています。

  1. 長方形内の格子点として頂点を描画します。つまり、

    格子

  2. 写真に示すように、エッジと頂点を選択して、色、位置、重みなどを変更できること。

ありがとう

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

javascript - 優れた JavaScript ライブラリや、スコアに基づいて予測を視覚化する方法を知っている人はいますか?

特定の信頼スコアを持つ他のタイプのエンティティに予測される多くのエンティティを含むテーブルがあります。元:

このデータを視覚化する必要があります。できればマトリックス図またはマッピング図で。信頼スコアは最も重要な機能です。チャート上の位置を決定する必要があります。私は HighCharts やその他の JavaScript 視覚化ライブラリを見てきましたが、非常に便利なグラフに出くわしていません。任意の提案をいただければ幸いです。

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

c++ - ツリー視覚化ライブラリ - 指定されたツリー データのすべてのノードとラインの座標を計算するライブラリ

(ビジュアル) C++の世界。私はツリー構造を持っています。それを視覚化したいです。すなわち:

木のデータがあります。このデータを処理し、各ノードの座標 (任意の論理座標空間、たとえば 2000x2000 論理ピクセル) を計算するライブラリと、それらを接続する各線のライブラリが必要です。2 つのノードを結ぶ線は、単純な直線ではなく、曲線または直線セグメントで構成されるパスのようなものである可能性があります。理想的には、ユーザーがノードをドラッグして再配置する場合に備えて、特定のツリー ノードの座標についてもパスを定義する線を計算したいと考えています。

まもなく、特定のグラフに必要なすべての幾何学的座標を計算するライブラリが必要になります。次に、これらの座標を使用して、GDI を使用して必要に応じてグラフを描画します。

Graphviz、ドット言語などについて聞いたことがあります。しかし、それ (または OGDF や igraph などの代替手段) が私が望むことを実行できるかどうかはわかりません。私が達成したいアイデアは、グラフを自分でレンダリングすることですが、座標を生成する際に支援が必要です。また、ユーザーはノードを再配置できる必要があるため、再配置されたノードを接続するライン パスの再計算が可能である必要があります。たとえば、ラインが既存のノードと交差しないようにする必要があります。

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

graphviz - グラフを人にやさしく/読みやすいものにする (500 ノード、1600 エッジ)

私は DOT 言語を学ぶことにしました。これは素晴らしいと思います。RPM 構築用のグラフを作成するためのプロジェクトを作成することにしました。すべてのレシピをスキャンして RPM パッケージをビルドし、必要なパッチとインポートに関する情報も追加します。現在、私のグラフには 500 未満のノードと 1600 を超えるエッジがあり、サイズは時々安定している +/- 50-100 ノード/エッジである必要があります。

これが私が今持っているものです:

最初の 2 つは、最後の 1 つよりも少し読みやすくなっています。

詳細:

  • パッケージは黒枠の箱に入っています。
  • パッチは、オレンジ色の縁取りのボックス + オレンジ色の縁にあります。
  • インポートは、赤い縁取りのボックスと赤い縁で示されます。
  • 単一のルート パッケージ ノードはありません。ほとんどのパッケージをインポートする、いくつかの最上位 (ルート) パッケージ ノード、4 ~ 10 ノードのパッケージ (ノード) があると言えます。
  • 依存関係ではなく、スタンドアロン パッケージ (ノード) があり、依存関係はありません。
  • パッチは、(ほとんど) 単一のパッケージ ノードでのみ使用できます。
  • すべてのパッケージ ノードにパッチがあるわけではありません。パッケージノードのごく一部にそれらがあると思います。
  • インポート ファイルは、パッケージ ノードの大部分 (たとえば、すべてのパッケージ ノードの 1/3) に含めることができます。
  • 私は rankdir="TB" を持っています (上-下)
  • エッジの重みを増やしました (パッケージ -> パッチ)。これは、パッチ ノードがパッケージ ノードに近いことを意味します。
  • ノードに重なるエッジの数を最小限に抑えるとよいでしょう。これにより、グラフが非常に読みにくくなります。

この場合、グラフ レイアウトの構成とアルゴリズムの使用に関する提案はありますか?