Multi Plot with 8 (eight) plots in figure

36 次查看(过去 30 天)
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.

采纳的回答

Jon
Jon 2015-9-16
编辑:Jon 2015-9-16
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 个评论
Jon
Jon 2015-9-17
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.

请先登录,再进行评论。

更多回答(1 个)

Varun Chowdary
Varun Chowdary 2021-9-22
subplot(5,2,[9 10])

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by