※ ここでは Book1.csv をダウンロードし,分かりやすいディレクトリに置く
(参考: 「外国為替データ(時系列データ)の情報源の紹介」の Web ページ)
以下の説明では、
として説明を続ける.
属性名として seq, date, USD, EUR, AUD の5つが, CSV ファイルの1行目に書かれていることを確認する.
octave
次のコマンドを実行.
pkg load io
◆ Windows の場合のOctaveコマンドの例
A = dlmread( "C:\\octave\\Book1.csv", ",/", 1, 0 );
◆ Linux の場合のOctaveコマンドの例
A = dlmread( "/tmp/Book1.csv", ",/", 1, 0 );
例えば,次のコマンドを実行する.これは,Aの2行目と3行目と4行目と5行目と6行目と7行目である.
x 値を格納したベクトル,y 値を格納した行列(またはベクトル)を引数として plot() 関数を使うと,散布図が描かれます.
この場合「A(:,1)」や「A(:,[5 6 7])」という書き方で,A から列を抜き出して,ベクトルや行列を作る.
■ 1本の線
x 値を格納したベクトル,y 値を格納したベクトル
plot( A(:,5), A(:,6) ) close
■ 複数の線
x 値を格納したベクトル,y 値を格納した魚憂うt
plot( A(:,1), A(:,[5 6 7]) ) close
「plot( A(:,1), A(:,5), A(:,1), A(:,6), A(:,1), A(:,7) ) 」のように,X 値と Y値のベクトルを交互に並べたときと同じ結果になる.
「hold on」を実行すると,plot コマンドをいくつか続いて実行したとき,前のグラフが消えないようになる.
x = [zeros(1,20), ones(1,10), zeros(1,20)] pkg load signal plot([1:50], x, [1:50], filtfilt([1 1 1 1 1]/5, 1, x))
x = [zeros(1,20), ones(1,10), zeros(1,20)] pkg load signal plot([1:50], x, [1:50], sgoleyfilt(x), [1:50], filtfilt([1 1 1 1 1]/5, 1, x))
x = [zeros(1,20), ones(1,10), zeros(1,20)] pkg load signal plot([1:50], x, [1:50], spencer(x), [1:50], filtfilt([1 1 1 1 1]/5, 1, x))
pkg load signal plot(A(:,1), A(:,5), A(:,1), filtfilt(ones(1,20)/20, 1, A(:,5)))
次の関数を使う
plot( X[,c("seq")], X[,c("USD")] ) lines(lowess( X[,c("seq")], X[,c("USD")] ), col = "red") lines(lowess( X[,c("seq")], X[,c("USD")], f=0.2 ), col = "green") legend( 5, 105, c( "f = 2/3", "f = 0.2" ), lty = 1, col = c("red", "green") )
テキストを書くこともできる.
text(locator(1), labels = "ほげほげ")