How to edit scatter plot legend?

135 views (last 30 days)
Sara Bashah
Sara Bashah on 21 May 2019
Commented: Walter Roberson on 21 May 2019
Hi,
I have a problem changing the color of markers for my legend.
I made the scatter plots separately with different size and color of the markers (see attachment), towards the end I use the following:
for k1 = 1:length(A)
scatter(A(k1),B(k1), 50, 'r', 'filled')
end
hold on
legend ('Living single corals','Living coral thicket', 'Basaltic boulders','Basaltic cobbles','Coarse sands', 'Ripples', 'Coral debris', 'Hardground slab')
xlabel('Distance, m');
ylabel('Depth, m')
set (gca,'FontSize',14)
hold on
I would like the legend to be the same as in the plot, however, the legend came up to be just one size and one color.
Appreciate your help.
Thank you,
Sara

Answers (1)

Walter Roberson
Walter Roberson on 21 May 2019
Every scatter call generates a graphics object and by default legend draws labels by order of graphics object.
  2 Comments
Walter Roberson
Walter Roberson on 21 May 2019
That scatter in a loop can be replaced with a single scatter call
scatter(A, B, 'k', 'filled')
Sara Bashah
Sara Bashah on 21 May 2019
Thank you. Problem solved!
I removed the loop and added each legend to the next scatter plot script, e.g:
scatter(A,B, 80, 'k', 'filled')
legend('Living single coral')
scatter(A,B, 80, 'k', 'filled')
legend('Living single coral','Living coral thicket')
scatter(A,B, 50, 'b', 'filled')
legend('Living single coral','Living coral thicket','Basaltic boulders')
scatter(A,B, 50, 'c', 'filled')
legend('Living single coral','Living coral thicket','Basaltic boulders', 'Basaltic cobbles')

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!