MATLAB Answers

Customize scatter figure with subplot

1 view (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

  0 Comments

Sign in to comment.

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

Show 1 older comment

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!