legend for plot3 command

I am going to plot two 3D data with the help of below command lines.
How can I insert legend for both the 3D data in a single window?
plot3(x,y,z);
hold on;
plot3(xx,yy,zz);

 Accepted Answer

Use the DisplayName property of graphics objects to specify the legend string.
plot3(x,y,z, 'DisplayName', 'Object1');
hold on;
plot3(xx,yy,zz, 'DisplayName', 'Object2');
legend()
or
p1 = plot3(x,y,z, 'DisplayName', 'Object1');
hold on;
p2 = plot3(xx,yy,zz, 'DisplayName', 'Object2');
legend([p1,p2])

4 Comments

Thank you it's working now.
But, We've to take care vector dimension very carefully.Otherwise it'll show erros when concatenating.
Adam Danz
Adam Danz on 18 Mar 2020
Edited: Adam Danz on 18 Mar 2020
If p1 and p2 are not single objects, you can concatenate them vertically,
legend([p1;p2])
Or selection 1 element
legend([p1(1), p2(1)])
Is that what you're referring to?
Indrajit Roy
Indrajit Roy on 20 Mar 2020
Edited: Indrajit Roy on 20 Mar 2020
Sorry for late reply...
  • If x,y,z vectors are of 2×2 dimension
  • and xx,yy,zz are of 1×2
then this error will appear:
''Error using horzcat
Dimensions of arrays being concatenated
are not consistent.''
I was pointing this issue.
I understood. My previous comment shows what to do under those circumstances.
Another alternative:
legend([p1(:);p2(:)])

Sign in to comment.

More Answers (0)

Products

Tags

Asked:

on 18 Mar 2020

Commented:

on 20 Mar 2020

Community Treasure Hunt

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

Start Hunting!