Change Color of Specific Legend Text (not all text)
39 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Jason Berger
le 21 Avr 2016
Commenté : Jason Berger
le 25 Avr 2016
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.
0 commentaires
Réponse acceptée
Nikhil Vyas
le 25 Avr 2016
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. :)
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Legend dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!