Hello, I would like to show the legend for a1 and (a3,a4) together.
But when I run it both legend entry are displayed with a black filled dot and not with the red one (the second).
How can I fix it?
figure(1)
for i = z
hold on; grid on; grid minor; axis equal;
set(gcf, 'Color', 'White');
set(gca, 'Fontsize', 12);
set(gca, 'ZDir','reverse')
a1 = scatter3(x*100,y*100,i*100,15,'filled', 'k');
a2 = plot3(X3D*100, Y3D*100, Z3D*100, 'k');
a3 = scatter3(C2(:,1),C2(:,2),C2(:,3),'filled', 'r'); %No Flow
a4 = scatter3(C22(:,1),C22(:,2),C22(:,3),'filled', 'r'); %No Flow
view(3)
xlabel('x [mm]')
ylabel('y [mm]')
zlabel('z [mm]')
legend([a1, a3 a4], 'Fiducial Markers', 'IPR Markers')
title('Fiducial Markers vs. IPR Tracked Markers')
subtitle('Wing NO Flow - 6DOF Fit')
end

 Risposta accettata

Star Strider
Star Strider il 1 Lug 2022

1 voto

I am not able to run the code so I cannot test this, however one approach could be:
legend([a1(1), a3(1) a4(1)], 'Fiducial Markers', 'IPR Markers')
Experiment with that approach (or similar approaches).
(I will delete my Answer if it fails to solve the problem.)
.

4 Commenti

Hi, thanks a lot! It is working now :)
Why I should add (1) to the datasets?
Star Strider
Star Strider il 1 Lug 2022
As always, my pleasure!
Your code plots vectors of points, and the legend function will obediently assign consecutive points to each consecutive legend string entry. The (1) subscript tells legend to only use the first element in each vector to assign to a legend string entry.
.
Ahh, clear!! Thanks a lot.
Star Strider
Star Strider il 1 Lug 2022
As always, my pleasure!

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by