Error when adding multiple legends to graph
2 views (last 30 days)
Show older comments
birdnerd007
on 25 Apr 2020
Commented: Star Strider
on 25 Apr 2020
Hello, I am trying to get a legend for the 10 tests I performed, but I am getting the error:
Invalid argument. Type 'help legend' for more information.
This is my code:
xposition=(1:4:40);
yposition=zeros(length(xposition),1)+20;
pointsize = 15;
scatter(xposition, yposition, pointsize, HIT, 'filled')
axis([0,40, 0,40]);
grid on
colorbar
colormap("jet")
barnone=colorbar;
set(get(barnone,'Title'),'String','Hardness')
xlabel('X Axis Position (µm)')
ylabel('Y Axis Position (µm)')
q=[HIT(1);HIT(2);HIT(3);HIT(4);HIT(5);HIT(6);HIT(7);HIT(8);HIT(9);HIT(10)];
legend(q,'Test 1', 'Test 2', 'Test 3','Test 4', 'Test 5', 'Test 6', 'Test 7','Test 8', 'Test 9', 'Test 10');
What am I doing incorrectly? Thanks for your help!
7 Comments
Accepted Answer
Star Strider
on 25 Apr 2020
The only way to do what you want is to plot each ‘HIT’ value individually in a for loop:
hold on
for k = 1:numel(HIT)
q(k) = scatter(xposition(k), yposition(k), pointsize, HIT(k), 'filled');
end
hold off
then this works:
legend(q,'Test 1', 'Test 2', 'Test 3','Test 4', 'Test 5', 'Test 6', 'Test 7','Test 8', 'Test 9', 'Test 10', 'Loccation','N', 'NumColumns',2)
2 Comments
More Answers (0)
See Also
Categories
Find more on Legend in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!