J'essaie de colorier le code du code dans une légende. (Puisque j'essaie de trier plusieurs parcelles dans différentes catégories, je ne peux pas simplement compter sur les couleurs de la ligne de la légende.) J'ai réussi à définir la couleur du texte pour toute la légende, mais je ne peux pas réussir à Attribuez la ligne de ligne par ligne. Est-ce possible?
Code jusqu'à présent: P>
list={'Label 1','Label 2','Label 3'}; leg=legend(list); set(leg,'Textcolor',[1 0 0])
3 Réponses :
Pour changer les couleurs de texte de la légende individuellement, vous devez d'abord obtenir les poignées aux objets texte, qui sont des enfants de l'objet de légende. Ensuite, vous pouvez modifier leurs couleurs de texte séparément. Voici un exemple de la façon dont vous pouvez le faire: Notez que l'ordre de couleur dans la dernière ligne est bleu puis em> rouge, dans l'ordre inverse de la façon dont les étiquettes sont transmis au Legend code>
fonction. Ce qui précède vous donnera la parcelle suivante: p>
Voici le code:
legtxt=findobj(leg,'type','text'); set(legtxt(1),'color','k')
Alors que les réponses de Yuk et Gnovice sont correctes, je voudrais souligner un fait peu connu et entièrement documenté que la fonction em> forte> renvoie des poignées supplémentaires qui correspondent aux composants de la légende. De la documentation de la em> em> forte> fonction: p>
[LEGEND_H, Object_H, Plot_H, Text_Strings] = Legend (...) retourne p>
Ces poignées vous permettent de modifier les propriétés des objets respectifs. P>
blockQuote>
Merci d'avoir fait remarquer cela! Je suppose que je devrais lire le fichier de documentation plus étroitement la prochaine fois.
Bonne prise, Yair. Ça va m'apprendre à complètement i> lire la documentation actuelle au lieu de répondre à partir de la mémoire. ;)