Plot both global and local legend
Afficher commentaires plus anciens
In the tiledlayout, I am trying to plot both global and local legend.
X = rand(5);
Y = rand(5);
figure
tiledlayout(2,1);
nexttile
plot(X(1,:),Y(1,:), 'r'); hold on;
plot(X(2,:),Y(2,:), 'k'); hold on;
plot(X(3,:),Y(3,:), 'k--'); hold on;
legend('Reference', 'Location', 'NorthWest');
nexttile
plot(X(1,:),Y(1,:), 'r', 'HandleVisibility','off'); hold on;
plot(X(4,:),Y(4,:), 'k'); hold on;
plot(X(5,:),Y(5,:), 'k--'); hold on;
% legend('Reference', 'Location', 'NorthWest');
My_LGD = legend('Signal 1', 'Signal 2');
My_LGD.Orientation = "horizontal";
My_LGD.NumColumns = 4;
My_LGD.Layout.Tile = "South";
This is the minimal working example I am using. I want to have a global legend showing Signal 1 and Signal 2 and then a local legend to highlight the e.g., Reference signal.
I had to hide the first plot in the second plot 'HandleVisibility','off' so my global legend takes the second two signals. Otherwise, is shows red line next to Signal 1 and black solid line next to Signal 2.

You can see in the second Figure, that local legend is in both plots (what I want), and in the first figure is what the code gives me.
1 commentaire
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Legend dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
