BobbyQuineのブログ(備忘録)

Linux関係の備忘録、その他タバコ、Vape関連なんかも。

データファイルを読み込んでグラフにプロットしてくれるソフトgnuplotの紹介

ども、BobbyQuineです。友人宅にて徹夜なうなのですがそこで大学課題で使えそうなgnuplotというものを教わったので備忘録がてら紹介しときます。まぁ実際やってったことを紹介してったほうがわかりやすいと思うので(ry

 

この記事にかかれていることを実践する場合は自己責任で。

 

gnuplotのインストール

今回も今までどおりArch Linuxでのものになります。多分他のディストリビューションでも標準のパッケージ管理システムに入っていると思うので。

 

$ sudo pacman -S gnuplot

 

使い方

まず、プロットするデータが必要です。このgnupoltで読み込むデータは以下のように

 

1 1

2 2

10 10

 

x座標<スペース>y座標 というものを改行で連ねたデータになっている必要があります。そこで例えば下のC言語で書かれたプログラムのようにデータを用意します。

 

以下ソースコード sin.c --------------------------------------------------------------------------------------------

 

#include <stdio.h>
#include <math.h>

int main(void){

          double a;

          FILE* fp;

          fp=fopen("sin","w");

          for(a=0;a<2*M_PI;a=a+0.0001){
                     fprintf(fp,"%lf %lf\n", a, sin(a));
          }

          fclose(fp);
          return(0);
}

 

以上ソースコード----------------------------------------------------------------------------------------------------

 

でまぁこいつの場合 " sin " って名前のファイルができるわけです。次に

 

$ gnuplot

 

で起動すると " gnuplot > " となって入力が待機されるわけです。そこに

 

gnuplot > plot "sin"

 

とすると正弦波に沿うように点がプロットされます。また、

 

gnuplot > plot "sin" with lines

 

とするとその点同士が線で結ばれていくわけです。で出力結果は以下のようになります

f:id:BobbyQuine:20180131053919p:plain

そしてここで先程のプログラムを少々改変して余弦波のデータを " cos " というファイル名で保存していて、以下のようにすると同じ盤面にグラフが追加されます。

 

gnuplot > replot "cos" with lines

f:id:BobbyQuine:20180131054351p:plain

 

gnuplot > quit

gnuplotを終了できます。と、まぁこんな感じのものの紹介でした。バーイ!!