7

C# で 2 部グラフを視覚化するためのライブラリまたはコードを誰かが推奨できますか?

Graph# は、この種のグラフを直接サポートしていないようです (ただし、頂点のもつれを解くためのサポートはいくつかあります)。

この2 部グラフのように、ノードにテキストを含むグラフィックを作成したいと考えています。同じ幅と高さのノードが理想的です。

グラフ番号に存在する WPF コントロールは完璧です。おそらく、XAML 定義さえ存在するのでしょうか? 別の方法として、レポート ウィンドウも非常に有効です。

おそらく、Graph# の経験が豊富な人なら、Graph# を利用してこれを行う方法についてヒントを提供できます。

NodeXL で少し試してみましたが、ノードはそれほど変更可能ではないように見えるため、完全な解決策ではないようです。おそらく、誰かがより良い解決策を提供できるでしょう。Soroush が提供する NetworkView で遊んでみました。現時点では、これは私が望むものに最も近いものです。

-更新- Soroush Falahati によって共有された NetworkView を試しました。これは良いベースのようですが、私が必要とするほど柔軟ではありません。これらのことをすぐに実行できるライブラリがそこにないと信じるには問題があります。(NetworkView には、コントロールに接続/エッジを設定する優れた機能があり、NodeXL をさらに強化します)。おそらく、Graph# はさらに多くのことを行うことができますが、現時点ではそれらの 2 つを試しただけです。

4

6 に答える 6

2

実際、クライアント側のjqueryを使用できる場合.. jqPlumbsを強くお勧めします.. http://www.jsplumb.org/jquery/demo.html

于 2013-02-01T18:26:59.180 に答える
2

NodeXLで2 部グラフの視覚化を近似し、エッジの交差を削除して改善することもできます。サンプルの 2 部グラフを使用しました。下の画像では、ノードの横 (u または v) に色を付けています。それらは、エッジの交差を最小限に抑える杉山アルゴリズムを使用して配置されます。これは、Excel 2007 ~ 2013 のインタラクティブな NodeXL テンプレートで行いましたが、これらの機能はすべて、スタンドアロンの NodeXL C# および WPF クラス ライブラリとして利用できるはずです。この記事の時点での現在のライブラリは、ここからダウンロードできます。

NodeXL 杉山レイアウトの二部グラフ

また、NodeXL の group-in-a-box レイアウトを試して、グループを分離し、それぞれを個別にグリッドに表示しましたが、結果はわずかでした。

NodeXL 二部グラフ

免責事項: 私は NodeXL プロジェクトのアドバイザーです。

于 2013-02-03T17:40:15.937 に答える
1
  1. yFiles WPFは、Windows Presentation Foundation (WPF) アプリケーション用の広範な .NET クラス ライブラリです。ダイアグラムを表示および編集するためのファーストクラスの UI コントロールにより、ボタンをクリックするだけで、複雑なグラフ、ダイアグラム、およびネットワークを自動的に配置できます。Windows フォーム ベースのアプリケーション用に作成された作図ライブラリは yFiles.NET です。

  2. Graph#は、グラフ レイアウト フレームワークです。これには、いくつかのレイアウト アルゴリズムと、WPF アプリケーション用の GraphLayout コントロールが含まれています。

  3. WPF を使用して循環依存関係を持つグラフを視覚化する

于 2013-02-06T04:43:31.223 に答える
1

わかりました、ご希望通りに、

これは、グラフとフローチャートを簡単に作成できるサンプル/ライブラリです。

http://www.codeproject.com/Articles/182683/NetworkView-A-WPF-custom-control-for-visualizing-a

それは実際には非常に優れた機能を備えています。

于 2013-02-05T12:14:24.123 に答える
0

D3.js は、データに基づいてドキュメントを操作するための JavaScript ライブラリです。D3 は、HTML、SVG、および CSS を使用してデータに命を吹き込むのに役立ちます。D3 は Web 標準に重点を置いているため、強力な視覚化コンポーネントと DOM 操作へのデータ駆動型アプローチを組み合わせて、独自のフレームワークに縛られることなく、最新のブラウザーの全機能を利用できます。

D3 を使用すると、任意のデータをドキュメント オブジェクト モデル (DOM) にバインドし、データ駆動型の変換をドキュメントに適用できます。たとえば、D3 を使用して、数値の配列から HTML テーブルを生成できます。または、同じデータを使用して、スムーズな遷移と相互作用を備えたインタラクティブな SVG 棒グラフを作成します。

D3 は、考えられるすべての機能を提供しようとするモノリシックなフレームワークではありません。代わりに、D3 は問題の核心を解決します。それは、データに基づく文書の効率的な操作です。これにより、独自の表現が回避され、非常に柔軟になり、CSS3、HTML5、SVG などの Web 標準の機能がすべて公開されます。最小限のオーバーヘッドで、D3 は非常に高速であり、大規模なデータセットとインタラクションとアニメーションの動的動作をサポートします。D3 の機能的なスタイルにより、さまざまなコンポーネントとプラグインのコレクションを通じてコードを再利用できます。

http://d3js.org/

http://mbostock.github.com/d3/talk/20111116/force-collapsible.html

于 2013-02-05T14:26:08.893 に答える