32

ここでのグラフとは、これらの画像に似たものを意味します。

理想的なソリューションは次のとおりです。

  • マネージド コードのみを使用する
  • ビットマップ画像への出力を許可する
  • WPF 要素への出力を許可する
  • ノードのズーム、パン、および再編成をサポートするグラフを表示するためのある種のインタラクティブなサーフェスを含める

また、この種の作業の出発点として使用できる可能性のあるプロジェクトについても興味があります。私が望むものを達成するために何らかの開発が必要な場合は、それに取り組む準備ができています. この目標の最も複雑な部分は、適切な時間枠内でグラフ レイアウトを取得することのようです。

4

14 に答える 14

12

Graph#も別のオプションです。私は個人的には使用していませんが、調べてみようと思っていました。

于 2009-04-27T03:19:05.627 に答える
8

私は NDepend チームで働いており、2008 年 9 月に GraphViz からMsAglに切り替えたことを確認しました。また、MsAgl ライセンスは実際に商用利用を許可しています。NDepend に統合された MsAgl グラフのサンプル画像をいくつか示します(すべてがインタラクティブで、ノードは移動可能/選択可能/削除可能/クリック可能、エッジは編集可能/選択可能/削除可能/クリック可能、レイアウトはズーム可能です。 MsAgl API は動作するのに十分クリーンです):

ここに画像の説明を入力 ここに画像の説明を入力 ここに画像の説明を入力

于 2009-05-19T07:50:06.103 に答える
8

Microsoft Research は、MSAGL (Automatic Graph Layout、以前は GLEE と呼ばれていました) と呼ばれる .NET 用のツールを提供しています。

MSAGL はこちらから入手できます: http://research.microsoft.com/en-us/downloads/f1303e46-965f-401a-87c3-34e1331d32c5/default.aspx

免責事項: 私はこのツールを使用していないので、それがあなたに適しているかどうかはわかりません (また、ライセンス条件についてもわかりません。非商用アプリケーションのみのようです)。しかし、少なくともそれは面白そうです。

于 2009-02-26T10:09:58.277 に答える
2

オプションのリストを完全にするために:Graphviz4Netは、Coincoinが彼の回答で提案したもののオープンソース実装です。

于 2011-08-31T11:08:58.950 に答える
2

私はNodeXL、http://www.codeplex.com/NodeXLを使用しました。これは.Net 3.5ライブラリです(Excelアドオンでもあります)。NodeXlは、Microsoft Researchによって開発されており、非常に優れています。視覚化アルゴリズムといくつかのメトリックがありますが、まだ開発の初期段階にあります。あなたがベテランの.Net開発者であるなら、私は間違いなくそれを見てみます。

ただし、Pythonをご存知の場合は、NetworkxとそのいとこであるGraphvizへのインターフェイスであるpygraphvizをお勧めします。私は両方を使用しましたが、Python / Networkxでの生産性は、NodeXLを使用していたときよりもはるかに高くなっています。

GLEEはMicrosoftのクローズドソースライブラリであり、非商用ソフトウェアでのみ無料で使用できます。NodeXLはMicrosoftのオープンソースの方法ですが、開発する製品で自由に使用できます。

于 2009-06-02T02:56:01.023 に答える
1

QuickGraphを使用して、 GraphVizのドットファイルを出力します。私は最近のプロジェクトでそれをしました、そしてそれはかなりうまくいくようです。.plainファイルを解析するためのサンプルコードについてはこちらをご覧ください。または、 .png画像を出力するためのリファレンスとしてここで私のプロジェクトを使用してください。

于 2009-04-27T02:43:22.203 に答える
1

マインドスケープの少年たちはそのようなツールを持っています

想像力豊かな名前のWPF フロー ダイアグラム

また、Vertigo のFamily.Showデモ プロジェクトもチェックしてください。

于 2009-02-26T12:19:56.470 に答える
1

私は MsAgl を使用しましたが、かなり良いです。また、WinForms と WPF の両方のビューアーも備えていますが、これは重要な場合とそうでない場合があります。ビューアはグラフ レイアウト エンジンと非常に疎結合であるため、ビューアを使用する必要はありません。

Graphviz が行うすべてをサポートしているわけではありません (特に、いくつかの形状の種類に関して)。また、ドキュメントは改善される可能性がありますが、これまでで最も洗練された MS 製品ではないにしても、かなりしっかりしています。

「ビューア上」の再編成では、ノードのドラッグ移動、エッジの再ルーティング、ラベルの再配置のみがサポートされますが、要件として言及したすべての項目にチェックマークを付けます。グラフは、他のアイテムを再配置することによって、これらの要素の動きに応答しません。

于 2009-05-18T05:46:28.143 に答える
1

私はこのhttp://www.codeproject.com/Articles/484616/MVVM-Diagram-Designerを使用しました。これはオープン ソースのもので、非常に使いやすいものです。コードは本当によく説明されています。

于 2013-10-19T17:41:09.220 に答える
0

私はGLEE/MSAGLで遊んでいますが、実際のレイアウト自体は必要なものには十分ですが、今のような単一の値ではなく、実際にノード内にあるものをより細かく制御できるようにしたいと思います。

たとえば、ノードのエキスパンダーをクリックするか、ノードをダブルクリックするか、マウスでホバーするまで、「詳細」を非表示にします。

GLEEがこれを実行できないと仮定すると、それを実行できる純粋な.NETソリューションはありますか?

于 2009-04-27T02:32:01.840 に答える
0

Northwoodsは、 GoLayout製品で純粋な .NET ソリューションを提供しています。それらは、ツリー、力指向、および層状の有向グラフを提供します (これはまったくスジヤマ効果ではありませんが、ほとんどではないにしても多くのデータセットにとってそれほど離れていません)。1790 ドル/シートと高価です。いくつかの制限もあります。最も重要なのは、それらの実装が「人間が読める」グラフ用に設計されていることです。5,000 を超えるノードのデータ セットを指定しましたが、問題はありませんでしたが、500 未満のノードのデータ セットを生成すると、スタック オーバーフロー (再帰が深すぎる) が発生する可能性があります。ドメインによっては、適切な場合とそうでない場合があります。任意のデータ セットを処理する一般的なレイアウト パッケージが必要な場合は、Northwoods ではなく GraphViz をお勧めします。

私はまだ彼らの WPF 機能を使用したことがありませんが、彼らがそれらを持っていることは知っています。私はしばらくの間、WinForms ランドで彼らのものを使用してきました。

于 2009-05-18T05:32:31.713 に答える
0

.NET ではありませんが、グラフをレンダリングするためによく参照されるツールキットは AT&T Graphvizです。私自身は独立したアプリケーションしか使用していませんが、ソース コードはオープン ソース ライセンスに似たものの下で利用できます。

Graphviz は、一般的なコード ドキュメント ツールdoxygenで使用され、生成されたドキュメントのさまざまな図を自動的に描画します。

于 2009-02-26T10:13:49.830 に答える