2016-11-15 1 views
0

J'ai essayé de nombreuses combinaisons pour résoudre ce problème à partir de forums, etc., mais chacune ne résout pas mon problème. J'ai deux parcelles line et deux parcelles scatter. Je souhaite afficher uniquement les deux graphiques scatter dans le legend.Exclure les entités dans la légende (Scatter et Line) - Matlab

Voici mon code:

line([-4, 4],[0,0], 'LineWidth', 2, 'Color', [0 0 0]); % Do not want this in Legend 
hold on 
line([0, 0],[-4,4], 'LineWidth', 2, 'Color', [0 0 0]); % Do not want this in Legend 
hold on 
i_h = scatter(valence_i, arousal_i,'MarkerEdgeColor', 'k', 'MarkerFaceColor', 'b'); 
legend(i_h, 'Induced Emotion') 
hold on 
p_h = scatter(valence_p, arousal_p, 'MarkerEdgeColor', 'k', 'MarkerFaceColor', 'r'); 
legend(p_h, 'Perceived Emotion') 
axis([-4 4 -4 4]) 
xlabel('Valence') 
ylabel('Arousal') 

Le code n'exclut en effet les line objets, mais le dernier appel à legend écrase le précédent. Les objets line ne font que marquer une croix au milieu de l'intrigue, d'où la raison pour laquelle ils ne sont pas désirés dans le legend.

Répondre

1

Vous avez seulement besoin d'un appel à la légende:

legend ([i_h p_h], 'Induced Emotion', 'Perceived Emotion') 
+0

Cela fonctionne très bien, merci. – user1574598