0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Gnuplotでヒストグラムをつくる

Posted at

はじめに

gnuplotを用いてヒストグラムを作成する際の様々な調整をするコードを備忘録的に書き留める。

動機

卒論関係でヒストグラムを作る必要性が生じたが、Excelでは作業が非常に煩雑だしラボの先輩が使っているRは難しそうという理由で前々から気になっていたgnuplotを触ってみることにした。

本題

使ったコードを説明を交えながら羅列する。必要に応じて追加したり飛ばしたりして思い描いた通りのヒストグラムにする。

set style fill solid 0.2

「fill solid number」で塗りつぶしを指定する。0だと背景色と同じで1だと全て塗りつぶす。個人的には0.2でやってみたらちょうど良かったので0.2としてある。
solidの他にpatternやemptyを指定することができる。 

filter(x,y)=floor(x/y)*y

よく分かっていないがこれをするとうまくいく。解説は参考文献に譲る。
gnuplotでヒストグラムをつくる

set xlabel "length"
set ylabel "number"
set xrange [0:14]
set yrange [0:10]

X軸,Y軸の説明とX軸,Y軸の表示範囲

set boxwidth 0.5 absolute

 軸の太さ。下で0.5刻みでヒストグラムを作るようにしているが軸の太さが1のままだとヒストグラム同士が重なって非常に見づらい。そのためヒストグラム同士が接するように0.5に設定した。
 absoluteのところをrelativeにすることもできる。relativeにするとどうやら度数によって軸の太さが変わるようだ。

plot "hoge.txt" u (filter($1,0.5)):(1) smooth frequency with boxes

ヒストグラムをつくりたいデータを持ってきて描画する。u以下は参考文献に詳しく書かれている。gnuplotでヒストグラムをつくる

これである程度使えるレベルのヒストグラムにはなった。

その他

gnuplotの精義という本に色々載っていた。便利
今後も使うと思う。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?