web-dev-qa-db-ja.com

C#でのプロット

C#は科学計算に何らかの見込みを示しているように見えますが、2Dグラフをプロットすることはほとんどありません。これは科学の学生と科学者の両方にとって非常に重要です。

C#で出版品質の2Dプロットを作成するための信頼できる無料の方法はありますか?そして、いくつかの形式(png、eps、...)に保存する能力。 Pythonのmatplotlibに似たものですか?

54
Shinka

Oxyplot をお勧めします。また Live-Charts があります(update2を参照)。

Oxyplotには、WPF、Metro、Silverlight、Windows Forms、Avalonia UI、XWTのパッケージがあります。グラフィックに加えて、Svg、Pdf、OpenXmlなどにエクスポートできます。また、AndroidおよびIOS。MonoおよびXamarinもサポートしています。これも積極的に開発されています。

*更新*GitHubに移動 https://github.com/oxyplot/oxyplot

* Update 2 *Live-Charts(github link))という新しい(少なくとも私にとっては)オープンソースの.Netプロットライブラリもあります。

プロットはかなりインタラクティブです。ライブラリは、WPF、WinForms、およびUWPをサポートしています。 Xamarinが計画されています。設計はMV *パターン向けに作成されています。

* Update 3 *@PawełAudionysosは、Live-Charts WPFのパフォーマンスがそれほど良くないことを示唆しています

48
MajesticRa

ZedGraph は良い選択です。

9
Bob Nadler

Microsoft Chart Controlsのサンプル環境 を参照してください:

.NET FrameworkのMicrosoft Chart Controlsのサンプル環境には、 ASP.NETとWindows Forms の両方の200以上のサンプルが含まれています。サンプルは、.NET Frameworkのチャートコントロールのすべての主要機能をカバーしています。これらを使用すると、チャートコントロールの動作を確認できるだけでなく、独自のWebおよびWindowsアプリケーションのテンプレートとしてコードを使用できます。

よりビジネス志向のようですが、理科の学生と科学者にとって価値があるかもしれません。

8
gimel

gnuplot は、科学界で広く使用されている積極的に維持されているプログラムです。通常、プロットはC#プログラムで書き出すことができるデータファイルから生成されますが、gnuplot実行可能ファイルをC#から呼び出して、生成されたイメージをC#画像ボックスに表示することもできます。

2
Danvil

数日前に新しいASP.NET Chartコントロールの使用を開始しましたが、その機能には驚くべきものがあります。

リンクはこちらです

編集:これは明らかにASP.NETを使用している場合のみです。 WinFormsについてはわかりません。

2
BBetances

MajesticRaの OxyPlot の推奨を補足し、OxyPlotをさまざまなプロットケースに使用する方法を指摘したいだけです。このソフトウェアは無料でオープンソースであり、非常に洗練されており、通常の2Dマッピング以外にもさまざまな用途に使用できます。

私は、OxyPlotを非正統的なプロジェクトに使用しており、LineSeries(Path Traveled)およびPointSeries(Way Points)でオーバーレイできるマップ(ロボティック占有グリッド)を(WPF/C#で)表示しています。 OxyPlot ImageAnnotation機能を使用して、一連のポイントをビデオ上にマッピングしながら、独自のスレッドでImageAnnotationを定期的に更新することにより、OxyPlot内で60Hzビデオを表示できます。背景のビデオとポイントは、スケーラブルで翻訳可能です。

これが、画像やビデオの上にプロットを表示する他の人に役立つことを願っています。

1
CodyF

NPlotは、非常に優れたシンプルなオープンソース2DプロットAPIです。残念ながら、ウェブサイトはダウンしています。これが一時的なものかどうかはわかりません。悪いニュースは聞いたことがありません。戻ってくるかもしれません。

http://www.nplot.com

これを説明する記事は次のとおりです。

http://aspnet.4guysfromrolla.com/articles/072507-1.aspx

前の記事ではVB.NETを使用しましたが、これは明らかにC#で機能します。

繰り返しますが、なぜnplotのサイトが現在機能していないのかはわかりませんが、過去に使用したことのあるやや人気のあるプロットAPIです。あなたの情報のためにそれを投稿します。万が一のイベントの場合には、nplotはすぐにバックアップされます。 :)

編集:

Hosam Alyのおかげで、SourceForgeプロジェクトにまだアクセスできるようです。

http://sourceforge.net/projects/nplot

0
BobbyShaftoe