outlier

建築士、プログラミング、ライフハック、etc.

(備忘録)octaveでのヒストグラムの作成ほか

こんばんは。

 

あるデータの分析で、Octaveを使ってヒストグラムをたくさん作図する機会があった。たまにしか使わず忘れそうなので、メモしておきます。

Octaveでのヒストグラムの作成

あるデータベクトルxに対して、ヒストグラムを書く場合、histコマンドを使います。

例えば、xを平均0、標準偏差1の正規乱数として、ヒストグラムを作ってみます。

 

>x=randn(1000,1);

>hist(x)

 

f:id:lucky-radio:20180612230426p:plain

2つ目の引数でビンの数(横軸の分割数)を指定できます。(デフォルトは10)

また、3つ目の引数をすると、縦軸を正規化することができます。サンプル数の異なる2つのヒストグラムを重ねる際など、それぞれを1で無次元化したもので重ねる際に使います。

上の図を20分割にし、さらに全体を1で正規化してみると、以下のようになります。

>hist(x,20,1)

f:id:lucky-radio:20180612230925p:plain

色や線種の指定

ヒストグラムの色は、"facecolor"で指定できます。また、各バーの外枠は"edgecolor","Linestyle","Linewidth"で色・線種・太さを指定できます。

上のヒストグラムを、色は青、外枠は赤点線・太さ2にしてみます。

>hist(x,20,1,"facecolor","b","edgecolor","r","Linestyle","--","Linewidth",2)

f:id:lucky-radio:20180612231449p:plain

2つのヒストグラムを重ねたい場合、色は塗りつぶさず外枠だけにしたいときがあります。そんなときは、"facecolor"を"none"と指定します。

>x=randn(1000,1)   %平均0の正規分布

>y=randn(1000,1)+1     % 平均1の正規分布

>hist(x,20,1,"facecolor","none","edgecolor","b","Linestyle","--","Linewidth",2)

>hold on

>hist(y,20,1,"facecolor","none","edgecolor","r","Linestyle",":","Linewidth",2)

f:id:lucky-radio:20180612232113p:plain

 

以上、Octaveでのヒストグラム作図についてもメモでした。