Change Color of Specific Legend Text (not all text)

In R2013a, I used to be able to change the color of specific text entries in a legend using code such as:
hLegend = legend(legend_txt,...
'Location','BestOutside',...
'FontSize',14);
% set color of legend that ever exceeds threshold to red so it stands out
hKids = get(hLegend,'Children');
hText = hKids(strcmp(get(hKids,'Type'),'text'));
set(hText(flipud(mask_alert)),{'Color'},{'r'});
My legends have many entries and "mask_alert" was a logical mask indicating which specific legend text I wanted to change color. Ever since I upgraded to R2015b, this code no longer works. The 'Children' property is now empty.

 채택된 답변

Nikhil Vyas
Nikhil Vyas 2016년 4월 25일
Instead of doing all that, you can use LaTeX to change the color of the legend text. Let's take a simple example.
x = [1 2 3 4];
y = [2 4 6 8];
z = [2 3 4 5];
plot(x, y, x, z);
legend('{\color{green}y vs x}', '{\color{blue}z vs x}');
This would give you the following graph.
You can even have multiple colors in the same text. For instance.
legend('{\color{green}C}{\color{red}O}{\color{orange}L}{\color{black}O}{\color{gray}R}', '{\color{blue}z vs x}');
The above would give you the following graph.
Hope this helped. :)

추가 답변 (0개)

카테고리

제품

질문:

2016년 4월 21일

댓글:

2016년 4월 25일

Community Treasure Hunt

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

Start Hunting!

Translated by