23

C ++で散布図をグラフ化する最良の方法は何ですか?

ファイルにデータを書き込んで別のツールを使用していますか?Pythonにmatplotlibのようなライブラリはありますか?

4

9 に答える 9

31

私はいつもデータを書き、gnuplotを使ってグラフを作成しています。これは、eps、png、jpeg、xpmなどのさまざまな形式でグラフを作成するために私が見つけた最善の方法です。

gnuplot散布図を非常に簡単に実行します。xとのy値が2つのスペースで区切られた列にある場合、

plot "data.txt" using 1:2 

簡単な散布図が表示されます。次に、それと他のgnuplotコマンドを使用しないものを調整できます。

あなたが科学に携わっているなら、学ぶgnuplotことはあなたにとって非常に価値があります。それは確かにExcelプロットを行うことからがらくたを追い出し、それは論文に含めるためにプロットを作成するタスクを容易にします。

于 2008-10-18T14:47:17.377 に答える
13

gnuplot のような独立したプロット ツールではなく、C++ ライブラリを探している場合は、次のことを検討します。

dislin は 2 つの中でより興味深いようです。ウィキペディアの記事から抜粋した説明を次に示します。

DISLIN は、ドイツの Katlenburg-Lindau にある Max Planck Institute の Helmut Michels によって開発された、高レベルで使いやすいプロット ライブラリです。Helmut Michels は現在、同研究所のコンピューター センターで数学者および Unix システム マネージャーとして働いています。

DISLIN ライブラリには、データを曲線、棒グラフ、円グラフ、3D カラー プロット、曲面、等高線、地図として表示するためのルーチンと関数が含まれています。X11、VGA、PostScript、PDF、CGM、HPGL、SVG、PNG、BMP、PPM、GIF、TIFF など、いくつかの出力形式がサポートされています。

DISLIN は、プログラミング言語 Fortran 77、Fortran 90/95、および C で使用できます。言語 Perl、Python、および Java のプロット拡張機能も、ほとんどのオペレーティング システムでサポートされています。DISLIN の現在のバージョンは 9.4 で、2008 年 10 月にリリースされました。最初のバージョン 1.0 は 1986 年 12 月にリリースされました。

DISLIN ソフトウェアは、非商用の場合は無料です。

于 2008-10-18T15:58:06.830 に答える
10

非常に重い解決策: ROOTに対してリンクできます。これは、ほぼすべてのことを実行します。

  • Mac、Windows、Linux で動作
  • コンパイル済みまたは cint インタプリタを使用して実行
  • カプセル化された PostScript、PDF、GIF、PNG のファイルに出力します。
  • いくつかの異なる技術を使用して画面に表示する
  • 後で操作できる内部形式でデータをシリアル化する

確かに、ほとんどの人にとっては少し大げさですが、まさにあなたが求めていたことを実行します。私はそれを知っているので使用します。私はその種の物理学者なので、すでに私のマシンに搭載されています。

于 2008-10-18T18:34:53.437 に答える
5

古き良きGNU、彼らはすべてを持っています...

http://directory.fsf.org/project/plotutils/

于 2009-03-12T21:19:29.647 に答える
4

これは確かに最善の方法ではありませんが、私は通常、 Rで読み取ることができる出力ファイルを作成し、これを適切なスクリプトとともに使用してグラフをプロットします。

于 2008-10-18T14:39:59.153 に答える
3

ここでの問題は、たとえば Java とは異なり、C++ には GUI やグラフィックスが組み込まれていないことです。C++ でグラフを生成する場合は、OS で利用可能な GUI ライブラリを使用する必要があります。無料の GUI ライブラリ、Qt や GTK などの多くのクロスプラットフォームがあります。

ただし、他の人が指摘したように、データをテキスト ファイルに保存し、別のプログラムを使用してグラフを生成するのが最も簡単な方法です。gnuplot は間違いなく良い選択です。これは、ほとんどの Linux ディストリビューションに標準で付属しており、cygwin で Windows に対応しています。

于 2008-10-18T16:01:15.857 に答える
2

まだやったことがない人のために、C++ でのプロットに敬意を表します。C ++でグラフをプロットするために何をしたかを言います

  1. http://sourceforge.jp/projects/sfnet_gnuplot/downloads/gnuplot/4.4.3/gp443win32.zip/から圧縮ファイル「gp443win32.zip」をダウンロード

  2. 「C:\Gnuplot」に解凍してから、「C:\Gnuplot\gnuplot\README.Windows」を読み、次の情報を取得しました。

  3. 私は Windows 7 を使用していました ==> 「winhlp32.exe」をダウンロードする必要があります...検索エンジンで「winhlp32.exe Windows 7」を検索し、最初のリンクをたどってください。

  4. 「パス」環境変数に、「C:\Gnuplot\gnuplot\binary」であるバイナリ フォルダーのパスを追加します。

  5. 次に、コンピューターをシャットダウンして、もう一度開きます。環境変数の変更を感知しないことがわかった後:D

  6. プロット能力をテストするためのサンプル コードを記述する必要があります :) したがって、このリンク http://code.google.com/p/gnuplot-cpp/source/browse/#svn%2Ftrunkにアクセス して、ヘッダー ファイルを確認できます。 「gnuplot_i.hpp」とソースファイル「example.cc」。

たくさんのグラフを取得し、適切なグラフを選択し、コアをカスタマイズして楽しんでください:)

于 2011-05-01T03:17:55.550 に答える
1

matplotlib に精通している場合は、 Python を C/C++ アプリケーションに埋め込むことができます。目的によっては、これが迅速な解決策になる場合があります。

于 2008-10-18T17:40:25.857 に答える
0

Chart Directorには C++ 用のバインディングがあります。私は彼らの .Net ライブラリを使用してきましたが、かなり満足しています。これは非常に安価なライブラリであり、あらゆる種類の異なるチャートを作成する機能を提供します。

于 2008-10-18T17:46:28.510 に答える