質問

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

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

役に立ちましたか?

解決

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

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

plot "data.txt" using 1:2 

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

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

他のヒント

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

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

  

DISLINは、ドイツのカトレンブルクリンダウにある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ソフトウェアは非営利目的での使用は無料です。

非常に重い解決策: ROOT にリンクできます。 p>

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

確かに、それはほとんどの人にとっては少々多めですが、あなたが求めていたとおりに動作します。私はそれを知っているのでそれを使用します、そしてそれは私がその種の物理学者であるので私のマシンにすでにあります。

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

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

これは確かに最良の方法ではありませんが、私は通常 R そして、適切なスクリプトとともにこれを使用して、グラフをプロットします。

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

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

まだ行っていない人のためにC ++でプロットすることについて。 C ++でグラフをプロットするためにしたことを言います

  1. zipファイル「gp443win32.zip」をダウンロードします; http://sourceforge.jp/projects/sfnet_gnuplot/からdownloads / gnuplot / 4.4.3 / 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"。

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

matplotlibに精通している場合は、埋め込みできますC / C ++アプリケーション。目的に応じて、これは簡単な解決策かもしれません。

チャートディレクターにはC ++のバインディングがあります。私はそれらの.Netライブラリを使用しましたが、それらにかなり満足しています。これは非常に安価なライブラリであり、あらゆる種類のさまざまなチャートを実行するパワーを提供します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top