Error when adding multiple legends to graph
17 次查看(过去 30 天)
显示 更早的评论
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!
采纳的回答
Star Strider
2020-4-25
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)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Legend 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!