group of lines with the same color (legend)

109 vues (au cours des 30 derniers jours)
maya
maya le 11 Déc 2015
i have two groups of lines, one group in blue (4 lines) and the second in red (3 lines) at the same plot. i want to create a legend with two labels - one for the blue group and the second for the red group, i can't find a function to do so. the only thing that i manage to do is to write 7 labels, and then i get label for each line but it looks stupid. i want to have only two labels for each group.
thanks
  1 commentaire
Socrates - Athanasios Kotronakos
Hey! Could you share how you did it? Thank you

Connectez-vous pour commenter.

Réponses (2)

Walter Roberson
Walter Roberson le 11 Déc 2015
You can record the handles of the lines, and only pass in one of the red group and one of the blue group to legend. For example,
h1 = plot(x, first_y, 'b'); %first_y has 4 columns so h1 is length 4
h2 = plot(x, second_y, 'r'); %second_y has 3 columns so h2 is length 3
legend([h1(1), h2(1)], 'Blue Meanies', 'Red Rovers')
  1 commentaire
Benjamin Schafer
Benjamin Schafer le 31 Jan 2019
Is this still working with later versions of Matlab? The new legend command in Matlab 2018 (at least when I am runing into it) seems to want to be smart and list all lines no matter what I do with the handles. I found some gitHub threads - but man the new legend command is totally different than my workflow before which was very much like this example.

Connectez-vous pour commenter.


Taniel Winner
Taniel Winner le 24 Juil 2021
Use this function I found extremely helpful and easy to use in my code.
  1 commentaire
Adam Danz
Adam Danz le 31 Août 2021
Thanks, Taniel. I've edited your comment to convert the URL to a link.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by