#初めに
MATLABを用いてCSVファイルを自動で読み取りグラフ化,グラフを特定のフォルダに自動保存する方法を今回まとめようと思う.少しずつ更新していこうと思うので歯抜けの形になってしまうことをお許しください.また,情報が専門ではないので利用している専門用語がめちゃくちゃな部分もあるかもしれません.その点もお許しください.
#データ取得
今回例として利用するcsvファイルを現在探しているところなので具体的な形であまりできていません.先に謝罪しておきたいと思います.時間をうまく見つけて充実した記事にしていきたいとは考えているのでお許しを...
データの取得について,まずcsvファイルが保存されているディレクトリを指定する必要がある.また,データを取得する際,パスをつなぎそこからフォルダ内のデータをリスト化して保存すると余分なデータが入るので最後にいらない部分を削除する
% csvファイルが入っているフォルダを入力します
rootname = 'csv'; %% csvを参照するフォルダを指定する.これが出来上がるグラフの名前の先頭につくので注意
% 検索パスにフォルダを追加します
addpath(rootname) ; %% パスをつなぐ
folderInfo=dir(fullfile(rootname)); %% 同じフォルダ内のcsvファイルのリスト化
list = folderInfo(~ismember({folderInfo.name}, {'.', '..'})); %% 必要ないフォルダ.,..を削除する
#データからグラフの作製
今回データをプロットし2次元のグラフを書き出したいと思う.そのためにlist化したものからデータをとりそちらから,x軸とy軸のデータをとってくることで最後にplotを用いてグラフ化することができる.凡例や軸などの名前等については今回は特に指定していない.
data1=readmatrix(list(1).name)
x1=data1(:,1);
y1=data1(:,2);
plot(x1,y1);
#グラフを特定ファイルに保存する
グラフを特定のディレクトリを指定しそこに保存することができる.これを用いるとどういった点で便利かというと,latexを特に用いる場合シミュレーションなどのデータを簡単に参照することができ,また,シミュレーションデータが変わった場合でも自動でグラフが切り替わるということができる.
~以下編集途中~
mファイルのあるデイレクトリから一個上にあるfigsという名前のフォルダの中に保存できるようになる.
path_fig = '../figs\'; % 保存先を指定(相対パス)
% ファイル名指定
filename='filename_01';
tag = '_tag_'; % グラフのファイル名に名前を追加できる
filename_fig = [path_fig,rootname,filename,tag];
% fig,epsデータ保存
saveas(fig,filename_fig) %% .figで保存
saveas(fig,filename_fig,'jpeg')