Afficher commentaires plus anciens
1.のような、ある物質の温度変化の様子が1秒ごとに時系列的に並んでいるCSVデータが100枚ほどあります。このデータを用いて、2.のようなグラフを作りたいのですが、全ての点を折れ線グラフにすることは可能でしょうか?
写真のような物質の温度変化の様子を、1点1点全て折れ線グラフにしたいです。
10 commentaires
plot(x,y)のあとに hold onと入力すると重ね書きができるのですべての点の折れ線グラフのグラフ化も可能と思います。
t = [0:10];
x = [sin(t); cos(t)];
figure;
plot(t,x(1,:))
hold on
plot(t,x(2,:))
海
le 12 Oct 2022
Keita Abe
le 12 Oct 2022
1つのファイル内にあるエクセルの点でも可能ですし,複数のエクセルファイルからデータを集約して可視化することも可能です。
複数ファイルのインポートに関してはこちらのリンクが参考になるかもしれません。
海
le 13 Oct 2022
例えばこんな感じでいかがでしょうか?複数ファイルの読み込みはこちらを参考にしました。
まずファイルのパスを取得します。
clc;clear;
Pathlists = dir("*.csv");
Mylists = (struct2cell(Pathlists))';
Mylists = string(Mylists(:,1:2));
MyPath = fullfile(Mylists(:,2),Mylists(:,1));
次に取得したパスのCSVを読みこんで1つのテーブルに再成型します。
T = readtable(MyPath(1));
TT = repmat(T,length(MyPath),1);
for i = 1:length(MyPath)
T = readtable(MyPath(i));
TT(i,:) = T(1,:);
end
最後にプロットをします。
plot(TT.t,TT.A, TT.t,TT.B)
最終的なひとまとまりのコードはこちらです。
clc;clear;
Pathlists = dir("*.csv");
Mylists = (struct2cell(Pathlists))';
Mylists = string(Mylists(:,1:2));
MyPath = fullfile(Mylists(:,2),Mylists(:,1));
T = readtable(MyPath(1));
TT = repmat(T,length(MyPath),1);
for i = 1:length(MyPath)
T = readtable(MyPath(i));
TT(i,:) = T(1,:);
end
plot(TT.t,TT.A, TT.t,TT.B)
海
le 14 Oct 2022
Keita Abe
le 14 Oct 2022
't', 'A', 'B'は先ほど例としてアップロードしたCSVファイルのタイトル行に相当します。なので,実際に読み込ませたいCSVのタイトル(変数名)に変更してください。
変数名ではなく,列番号でplotのX,Y軸を指定したい場合はplotの部分を次に置き換えてください。
% plot(TT.t,TT.A, TT.t,TT.B)
plot(TT{:,1},TT{:,2}, TT{:,1},TT{:,3})
海
le 14 Oct 2022
Keita Abe
le 14 Oct 2022
時間が入っているセルはB3, 温度を取得したいセルがB9ならたとえば,for ループ 以下を次のように書き換えてみてはいかがでしょうか?
for i = 1:length(MyPath)
M = readmatrix(MyPath(i),'OutputType','string','NumHeaderLines',0);
time = datetime(M{3,2});
temperature = str2double(M{9,2});
TT{i,1} = time;
TT{i,2} = temperature;
end
TT = cell2table(TT);
plot(TT{:,1},TT{:,2})
海
le 17 Oct 2022
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur スプレッドシート dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

