Using 'graph' for 3D representation.

1 view (last 30 days)
I want to make a 3D map with the 'graph' function introduced in matlab 2015b, is this possible? or is there a workaround? It seems that I can not add 'ZData' as it is.
Thank you.
What i am trying to do:
s = [1 1 1 2 2 3];
t = [2 3 4 3 4 4];
G = graph(s,t);
x = [0 1 .5 .5];
y = [0 0 1 .5];
z = [0 0 0 1];
plot(G, 'XData', x, 'YData', y, 'ZData', z)
Edit: I have also tried with 'plot3'.

Accepted Answer

Walter Roberson
Walter Roberson on 2 Oct 2015
Sorry, the underlying graphics object http://www.mathworks.com/help/matlab/ref/graphplot-properties.html does not have a ZData property.
  1 Comment
Ginner
Ginner on 2 Oct 2015
Hmm... That's what I was afraid to hear.
Thank you.

Sign in to comment.

More Answers (2)

Christine Tobler
Christine Tobler on 7 Jan 2016
You can get plot3 to show you the structure you're looking for as follows:
>> xx = [x(s); x(t)]
>> yy = [y(s); y(t)]
>> zz = [z(s); z(t)]
>> plot3(xx, yy, zz, 'k')
This plots all your edges as individual line segments in 3D. I'm setting the color to black because otherwise each line has a different color.

Steven Lord
Steven Lord on 27 Jan 2017
The ability to visualize graph and digraph objects in 3-D was added to MATLAB in release R2016b.

Categories

Find more on Graph and Network Algorithms 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!