How can I make legend by colors?

조회 수: 130 (최근 30일)
Eli Borodach
Eli Borodach 2016년 4월 4일
댓글: Eli Borodach 2016년 4월 4일
Hello all,
I have a plot with 4 different colors, the problem is that I don't know in which order the colors are being printed (and it is a bit hard to save the order). Is there anyway to make legend like this:
legend(color1,str_legend1,color2,str_legend2,color3,str_legend3,color4,str_legend4)?
The code:
for kk = 1 : length(vec_ray_angle)
if (shuffling_significance(kk) <= parms.shuffling_significance)
% scatter((ax_bins(kk) - delta),vec_ray_angle(kk), 'g', 'fill'); hold on;
if (sum(kk == idxs_slices_far_from_wall) > 0)
% dark green
vec_color = vec_dark_green;
else
% bright green
vec_color = vec_bright_green;
end
else
% scatter((ax_bins(kk) - delta),vec_ray_angle(kk), 'k', 'fill'); hold on;
if (sum(kk == idxs_slices_far_from_wall) > 0)
% dark blue
vec_color = vec_dark_blue;
else
% bright blue
vec_color = vec_bright_blue;
end
end
plot((ax_bins(kk) - delta),vec_ray_angle(kk), 'color', vec_color); hold on;
text((ax_bins(kk) - delta),vec_ray_angle(kk), num2str(round(vec_ray_angle(kk))), 'color', vec_color);
end
Thanks in advance.

채택된 답변

Ced
Ced 2016년 4월 4일
Do I understand correctly that you have a lot of lines, but only want to have 4 legend entries which need to be of different colors?
Why not just generate four dummy points (outside of your figure), one of each color, before the loop? Even nan or inf points would work.
If that doesn't work for you, which version of matlab are you using?
Cheers
  댓글 수: 5
Walter Roberson
Walter Roberson 2016년 4월 4일
"hold on" after the first plot()
Eli Borodach
Eli Borodach 2016년 4월 4일
Thanks!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Legend에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by