フェムトセカンド #七味とーがラジオ / @melonsode

The Destination is unknown. The Journey is the Reward.
Author: 野澤真一 / NOZAWA Shinichi , version 2.0220330 / Podcast: 七味とーがラジオ / twitter: @melonsode

Octaveで濃淡グラフ

|

カテゴリ:

少し前に作った図と同等の図。

matrixOct.png

以前作った図
HTMLのTableタグ自動的に生成するPerlのスクリプトを
駆使して実現していたんだけど、
今回はこれをOctaveで生成することに成功した。

以下、メモ的に。

Octaveの軸の設定

  • 軸の設定の仕方は axis( [0 10 0 10] ) でOK。最初の二つがx軸のmin,max、後の二つがy軸のmin, max
  • 3次元の場合はさらに axis( [0 10 0 10 -10 10] ) と数字を6個にすればOK。
  • axis( [0 10 0 10], "square" ) とすることで、グラフが正方形になる
  • squareの他に、equalとnormalがある。
  • axis( [0 10 0 10], "square", "ij") とすることで、y軸の向きが反転する
  • x軸の向きを変えるのはコマンドはなかった
  • [h, va, na] = __plt_\get_axis_arg__("axis") とやってhを取得し、 set(h, 'xdir' , 'reverse') とやれば無理矢理 x軸の向きを反転することはできた。

Octaveの濃淡グラフ

  • 今回は pcolor(0.5:1:10.5,0.5:1:10.5, matrix) とやって表示している。matrixは10x10の行列
  • pcolor(x, y, matrix)
  • x,yの生成にはmeshgrid関数も使える
  • x, y はmeshgridで生成した行列でもベクトルのままでもどちらでもいいみたい
  • 色はおそらくデフォルトだとカラーで表示される。
  • colormap("default")と打つと、カラーのグラフになる
  • colormap(gray)と打つとグレースケールになる(grayは関数)
  • 今回のは赤が濃くなるようにしてあるが、これはRは1で固定、でGとBは1から0.11刻みで10段階に変化させたものを使用した。(3列10行の行列)
  • そのような色テーブルをcolormap(red_grad)というように行列で渡せばカラースケールは変わる

matrixColor.pngmatrixGray.png

参考サイト

そのほかメモ

  • Octaveであまりの計算はrem(x, y)。
  • たぶんOctaveのバージョン3になってから2のころと様子が違うんだろうなと。
  • __gnuplot_set__みたいな記法があったけど、たぶんもう使えない?

プロフィール

月別アーカイブ

全アーカイブ

フェムトセカンド1.0


メールを送る(故障中)