Customize scatter figure with subplot

8 views (last 30 days)
Hi, I have the following code that generates a plot like this:
close all; clc
labels = {'K_p' 'K_d' 'K_i' 'M_p'};
data = rand(7,4);
cmap = lines(7);
for i = 1 : 3
subplot(2,3,i)
scatter(data(:,i),data(:,4),[],cmap,'filled')
end
data = rand(7,4);
for i = 1 : 3
subplot(2,3,i+3)
scatter(data(:,i),data(:,4),[],cmap,'filled')
end
And I need to modify it to create something like this:
And I would also like all the axes to be as close as possible to each other

Accepted Answer

Ameer Hamza
Ameer Hamza on 11 Nov 2020
Edited: Ameer Hamza on 11 Nov 2020
Try this
close all; clc
labels = {'K_p' 'K_d' 'K_i'};
cmap = lines(7);
data = rand(7,4);
for i = 1 : 3
subplot(2,3,i);
scatter(data(:,i),data(:,4),[],cmap,'filled');
if i == 1
ylabel('ts', 'FontSize', 22);
end
if i > 1
yticklabels([]);
end
end
data = rand(7,4);
for i = 1 : 3
subplot(2,3,i+3)
scatter(data(:,i),data(:,4),[],cmap,'filled');
if i == 1
ylabel('M_p', 'FontSize', 22);
end
xlabel(labels{i}, 'FontSize', 22);
if i > 1
yticklabels([]);
end
end
  4 Comments

Sign in to comment.

More Answers (0)

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!