複数のCSVデータをまとめてfigure化し、保存する方法について。
11 views (last 30 days)
Show older comments
初歩的な質問かもしれませんが、ご回答頂けると幸いです。
フォルダ内にあるn個のcsvデータをグラフにしてfigure化し、n個の画像ファイルとして保存したいと考えております。
現在以下のコードで試してみました。
csvファイルは2行n列であり、1行目を抜き出すコードにしています。
list = dir('*.csv');
for ii = 1:length(list)
a = readmatrix(list(ii).name);
plot(a(1,:));
saveas(gcf,"filename.png");
end
上記コードだとn個のcsvファイルのうち、任意の1個の画像データが保存されております。
おそらくn個分のファイル名を準備できていないため、上手くいかないと考えております。
その他にも原因は考えられるでしょうか。また、具体的にどのようにすれば宜しいでしょうか。
ご回答頂けると幸いです。宜しくお願い致します。
0 Comments
Accepted Answer
Atsushi Ueno
on 11 Nov 2022
Edited: Atsushi Ueno
on 11 Nov 2022
> おそらくn個分のファイル名を準備できていないため、上手くいかないと考えております。
> その他にも原因は考えられるでしょうか。
⇒いいえ、その原因だけで良いと思います。
> 具体的にどのようにすれば宜しいでしょうか。
⇒例えば出力ファイル名は「拡張子csvをpngに替えた文字列」として随時変更していけば上書きせずに済みます。
list = dir('*.csv');
for ii = 1:length(list)
a = readmatrix(list(ii).name);
plot(a(1,:));
image_file_name = regexprep(list(ii).name,'\.csv$','\.png');
saveas(gcf,image_file_name); % 出力ファイル名は拡張子csvをpngに替えた文字列とする
end
More Answers (1)
Hernia Baby
on 11 Nov 2022
Edited: Hernia Baby
on 11 Nov 2022
ファイル名が同じため、更新する状態になっていると思われます。
for ii = 1:5
a = ['sample',num2str(ii,'%03d'),'.png']
end
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!