MATLAB: How to change the graph to make it look like the given graph

graphlayout

My professor for Software of Mathematics gave us a graph with the instructions, "Write a code in MATLAB that generates the following graph:"
The code I developed is as follows, and as far I can tell it is correct; however, my graph doesn't look the same as the original.
%% code begins %%
s = [1 1 1 1 1 2 2 2 3 3 4 5 6 6 6 6 7 7 7 8 8 8 9 10 11 11 11 11 12 12 12 13 13 14];
t = [2 3 4 5 6 3 4 5 4 5 5 7 7 8 9 10 8 9 10 9 10 12 10 11 12 13 14 15 13 14 15 14 15 15];
weights = [9 3 8 2 9 2 6 4 9 6 5 9 4 5 10 1 10 2 7 6 7 4 7 9 1 1 10 7 3 5 2 3 3 4];
names = {'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o'};
G.Nodes
G.Edges
G = graph(s,t,weights,names);
plot(G);
P = plot(G);
labeledge(P,1:numedges(G),weights);
%% code ends %%
Is there something I should do differently?

Best Answer

So, I emailed my professor and he told me to use: "plot(G,'layout','layer')"
Here is the revised code for anyone who is interested:
%% code begins %%
s = [1 1 1 1 1 2 2 2 3 3 4 5 6 6 6 6 7 7 7 8 8 8 9 10 11 11 11 11 12 12 12 13 13 14];
t = [2 3 4 5 6 3 4 5 4 5 5 7 7 8 9 10 8 9 10 9 10 12 10 11 12 13 14 15 13 14 15 14 15 15];
weights = [9 3 8 2 9 2 6 4 9 6 5 9 4 5 10 1 10 2 7 6 7 4 7 9 1 1 10 7 3 5 2 3 3 4];
names = {'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o'};
G = graph(s,t,weights,names);
G.Nodes;
G.Edges;
P = plot(G,'layout','layer');
labeledge(P,1:numedges(G),weights);
%% code ends %%