How can I plot multiple signals in a single plot? Please give me suggestions which functions have used for this.
17 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1550062/image.png)
0 Kommentare
Akzeptierte Antwort
Chunru
am 23 Nov. 2023
Bearbeitet: Chunru
am 23 Nov. 2023
% Generate som data
fs = 1000;
t=(0:1/fs:1)';
f = 10:10:40;
x = sin(2*pi*t*f);
x = x + 0.1*randn(size(x));
n = size(x, 2); % num of channels
yyaxis left
s = 0.4; % scale factor
plot(t, s*x + (0:n-1) );
yticks(-1:n)
yticklabels(["" "abc" "def" "a" "b" ""])
yyaxis right
ylim( [-1 n]/s)
yticks( [0 1]/s)
5 Kommentare
Dyuman Joshi
am 26 Nov. 2023
@Walter Roberson has already mentioned a function below. Did you try that?
Weitere Antworten (1)
Walter Roberson
am 24 Nov. 2023
See stackedplot
4 Kommentare
Walter Roberson
am 27 Nov. 2023
Bearbeitet: Walter Roberson
am 27 Nov. 2023
Create a timetable() object with variable names {'Input Signal', 'Clean Signal', 'Artifact'} and with 'RowTimes' set to the time vector.
Now stackedplot() that timetable object.
For example,
TT = timetable(input_signal(:), clean_signal(:), artifact(:), 'VariableNames', {'Input Signal', 'Clean Signal', 'Artifact'}, 'RowTimes', t);
stackedplot(TT);
Siehe auch
Kategorien
Mehr zu Measurements and Spatial Audio finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!