Multi Plot with 8 (eight) plots in figure

15 Ansichten (letzte 30 Tage)
monkey_matlab
monkey_matlab am 16 Sep. 2015
Beantwortet: Varun Chowdary am 22 Sep. 2021
Hello,
I have 8 plots and would like for them to show up like this in my figure:
here is my MWE with just 4 plots:
% Frequency vector
x = 10:1000;
% Phase noise vector
y = 10:1000;
% Graph settings
subplot(2, 2, 1);
semilogx(x,y); grid on;
title('Pass1 Response');
xlabel('Frequency (Hz)'); ylabel('Amplitude');
subplot(2, 2, 2);
semilogx(x,y); grid on;
title('Data after Pass1');
xlabel('Frequency (Hz)'); ylabel('Amplitude');
subplot(2, 2, 3);
semilogx(x,y); grid on;
title('Pass 2 Response');
xlabel('Frequency (Hz)'); ylabel('Amplitude');
subplot(2,2,4);
semilogx(x,y); grid on;
title('Data after Pass 2');
xlabel('Offset Frequency (Hz)'); ylabel('Amplitude');
Any help will be greatly appreciated.
Thanks.

Akzeptierte Antwort

Jon
Jon am 16 Sep. 2015
Bearbeitet: Jon am 16 Sep. 2015
You need to divide the plotting space into 5 rows with 2 columns, so your first plot, for example, would read
subplot(5,2,[1 2])
your third would be
subplot(5,2,3)
and your last would be
subplot(5,2,[9 10])
Is that what you were asking?
  3 Kommentare
Jon
Jon am 17 Sep. 2015
To be clear, using the code you originally posted, you would write
% Plot original data
subplot(5,2,[1 2])
semilogx(x,y); grid on;
title('Original Data');
xlabel('Frequency (Hz)'); ylabel('Amplitude');
% Plot Data After Pass 1
subplot(5,2,4)
semilogx(x,y); grid on;
title('Data after Pass1');
xlabel('Frequency (Hz)'); ylabel('Amplitude');
And so on. After each call to subplot, you need to actually plot something before calling a different subplot.
monkey_matlab
monkey_matlab am 17 Sep. 2015
THANK YOU!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Varun Chowdary
Varun Chowdary am 22 Sep. 2021
subplot(5,2,[9 10])

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by