1

I have multiple arrays of 3D data. How can I plot them all on a single plot? The size of the arrays are not equal.

For example:

array1_xy = [1 2;3 4;5 6]
array1_z = [10;20;30]
array2_xy = [2 4;5 6;4 6;4 5]
array2_z = [10;20;50;10]
array3_xy = [1 4;1 6;1 3;1 5;1 1;3 4]
array3_z = [10;20;30;10;80;30]

How can I plot them on a single 3D plot with different markers?

2 Answers 2

1

You want the hold function.

From the link above:

x = -pi:pi/20:pi;
plot(sin(x))
hold on
plot(cos(x))
hold off

This will plot sin(x) and on the same axes it'll plot cos(x).

If you want to plot your arrays with plot3 function, you can still use hold on; and plot them in the same graph.

Sign up to request clarification or add additional context in comments.

Comments

0

I assume you want to do a xyz scatter plot(?) in that case, use plot3. Details go help plot3 Details about markers, go help plot

Follow code does what you want.

plot3(array1_xy(:,1),array1_xy(:,2),array1_z,'x'); hold on;
plot3(array2_xy(:,1),array2_xy(:,2),array2_z,'o'); 
plot3(array3_xy(:,1),array3_xy(:,2),array3_z,'p'); 

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.