Generating a Legend for Colormap

34 views (last 30 days)
Camille Woicekowski
Camille Woicekowski on 24 Jul 2020
I have several lines plotted on one graph that are color-coded by a colormap. I want to add a legend (not colorbar) that idenitifies each of the lines by their color. The colormap is working and the legend is generated, by the markers in the legend are all black. Here is what I have
cm = jet(size(x_mtx))
for i=1:size(x_mtx)
p3=plot(x_mtx(i,:), 'Color',cm(i,:));
hold on;
leg_label(i,:) = sprintf('%1.2e',rmse_mtx(i,1));
end
leg=legend(leg_label);
How can I color the legend with the color corresponding to the line plotted?

Answers (1)

KSSV
KSSV on 24 Jul 2020
  1 Comment
Camille Woicekowski
Camille Woicekowski on 24 Jul 2020
This seems to work, but it'd get tedious typing in the values for each legend handle when I have 15+. Can I use this method, but set the legend labels in the for loop? The info for the labels saved in a 22x1 matrix (rmse_mtx). I tried
clear p
for i=1:size(x_mtx)
p3=plot(x_mtx(i,:),'Color',cm(i,:));hold on
p(i)=p3(1);
legend(p,{sprintf('%1.2e', rmse_mtx(i,:))});
%label(kk,:) = sprintf('%1.2e',rmse_mtx(kk,1));
end
but this only gives me the first label.

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!