複数のCSVデータをまとめてfigure化し、保存する方法について。
11 ビュー (過去 30 日間)
古いコメントを表示
初歩的な質問かもしれませんが、ご回答頂けると幸いです。
フォルダ内にある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 件のコメント
採用された回答
Atsushi Ueno
2022 年 11 月 11 日
編集済み: Atsushi Ueno
2022 年 11 月 11 日
> おそらく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
その他の回答 (1 件)
Hernia Baby
2022 年 11 月 11 日
編集済み: Hernia Baby
2022 年 11 月 11 日
ファイル名が同じため、更新する状態になっていると思われます。
for ii = 1:5
a = ['sample',num2str(ii,'%03d'),'.png']
end
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!