Making tree structure using tikz












2















I want to make a tree structure by tikz. I am not a professional latex user and I am just trying to combine examples to make it work but first I would like that the edges have direction and then T 3 and T 4 overlap and then I would like to be able to make the space between nodes in each layer being more flexible to change. This in my code:



documentclass{article}
usepackage{tikz}
usetikzlibrary{graphdrawing}
usetikzlibrary{shapes,arrows,calc}
usetikzlibrary{graphs}
tikzstyle{line} = [draw, -latex']
begin{document}
begin{tikzpicture}[sibling distance=10em,
every node/.style = {shape=rectangle, rounded corners,
draw, align=center,
top color=white, bottom color=white!20}]]
node {P}
child { node (ch1){char1}
child { node {T 1}
child { node {comment} } }
child { node {T 2}
child { node {comment} } }
child { node {T 3}
child { node {comment} } } node [left=2cm of char 1] (s1){script 1}}
child { node (ch2){char 2}
child { node {T 2}
child { node {comment} } }
child { node {T 4}
child { node {comment} } }
child { node {T 5}
child { node {comment} } } node [right=2cm of char 2] (s2){script 2}};
%Draw edges
path [line] (s2) -- node {}(ch2);
path [line] (s1) -- node {}(ch1);
end{tikzpicture}

end{document}


There is a circle created on the edges between char 1 and script 1. I can not figure why? Any suggestion would be appreciate!!










share|improve this question























  • Also, there are many packages, which allow you to construct trees which are easier to use.

    – Viktor Glombik
    yesterday











  • @ViktorGlombik If you are referring to forest, I agree, but giving a list of packages you have in mind might help here.

    – marmot
    yesterday
















2















I want to make a tree structure by tikz. I am not a professional latex user and I am just trying to combine examples to make it work but first I would like that the edges have direction and then T 3 and T 4 overlap and then I would like to be able to make the space between nodes in each layer being more flexible to change. This in my code:



documentclass{article}
usepackage{tikz}
usetikzlibrary{graphdrawing}
usetikzlibrary{shapes,arrows,calc}
usetikzlibrary{graphs}
tikzstyle{line} = [draw, -latex']
begin{document}
begin{tikzpicture}[sibling distance=10em,
every node/.style = {shape=rectangle, rounded corners,
draw, align=center,
top color=white, bottom color=white!20}]]
node {P}
child { node (ch1){char1}
child { node {T 1}
child { node {comment} } }
child { node {T 2}
child { node {comment} } }
child { node {T 3}
child { node {comment} } } node [left=2cm of char 1] (s1){script 1}}
child { node (ch2){char 2}
child { node {T 2}
child { node {comment} } }
child { node {T 4}
child { node {comment} } }
child { node {T 5}
child { node {comment} } } node [right=2cm of char 2] (s2){script 2}};
%Draw edges
path [line] (s2) -- node {}(ch2);
path [line] (s1) -- node {}(ch1);
end{tikzpicture}

end{document}


There is a circle created on the edges between char 1 and script 1. I can not figure why? Any suggestion would be appreciate!!










share|improve this question























  • Also, there are many packages, which allow you to construct trees which are easier to use.

    – Viktor Glombik
    yesterday











  • @ViktorGlombik If you are referring to forest, I agree, but giving a list of packages you have in mind might help here.

    – marmot
    yesterday














2












2








2








I want to make a tree structure by tikz. I am not a professional latex user and I am just trying to combine examples to make it work but first I would like that the edges have direction and then T 3 and T 4 overlap and then I would like to be able to make the space between nodes in each layer being more flexible to change. This in my code:



documentclass{article}
usepackage{tikz}
usetikzlibrary{graphdrawing}
usetikzlibrary{shapes,arrows,calc}
usetikzlibrary{graphs}
tikzstyle{line} = [draw, -latex']
begin{document}
begin{tikzpicture}[sibling distance=10em,
every node/.style = {shape=rectangle, rounded corners,
draw, align=center,
top color=white, bottom color=white!20}]]
node {P}
child { node (ch1){char1}
child { node {T 1}
child { node {comment} } }
child { node {T 2}
child { node {comment} } }
child { node {T 3}
child { node {comment} } } node [left=2cm of char 1] (s1){script 1}}
child { node (ch2){char 2}
child { node {T 2}
child { node {comment} } }
child { node {T 4}
child { node {comment} } }
child { node {T 5}
child { node {comment} } } node [right=2cm of char 2] (s2){script 2}};
%Draw edges
path [line] (s2) -- node {}(ch2);
path [line] (s1) -- node {}(ch1);
end{tikzpicture}

end{document}


There is a circle created on the edges between char 1 and script 1. I can not figure why? Any suggestion would be appreciate!!










share|improve this question














I want to make a tree structure by tikz. I am not a professional latex user and I am just trying to combine examples to make it work but first I would like that the edges have direction and then T 3 and T 4 overlap and then I would like to be able to make the space between nodes in each layer being more flexible to change. This in my code:



documentclass{article}
usepackage{tikz}
usetikzlibrary{graphdrawing}
usetikzlibrary{shapes,arrows,calc}
usetikzlibrary{graphs}
tikzstyle{line} = [draw, -latex']
begin{document}
begin{tikzpicture}[sibling distance=10em,
every node/.style = {shape=rectangle, rounded corners,
draw, align=center,
top color=white, bottom color=white!20}]]
node {P}
child { node (ch1){char1}
child { node {T 1}
child { node {comment} } }
child { node {T 2}
child { node {comment} } }
child { node {T 3}
child { node {comment} } } node [left=2cm of char 1] (s1){script 1}}
child { node (ch2){char 2}
child { node {T 2}
child { node {comment} } }
child { node {T 4}
child { node {comment} } }
child { node {T 5}
child { node {comment} } } node [right=2cm of char 2] (s2){script 2}};
%Draw edges
path [line] (s2) -- node {}(ch2);
path [line] (s1) -- node {}(ch1);
end{tikzpicture}

end{document}


There is a circle created on the edges between char 1 and script 1. I can not figure why? Any suggestion would be appreciate!!







tikz-pgf tikz-trees graphs






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked yesterday









DalekDalek

21917




21917













  • Also, there are many packages, which allow you to construct trees which are easier to use.

    – Viktor Glombik
    yesterday











  • @ViktorGlombik If you are referring to forest, I agree, but giving a list of packages you have in mind might help here.

    – marmot
    yesterday



















  • Also, there are many packages, which allow you to construct trees which are easier to use.

    – Viktor Glombik
    yesterday











  • @ViktorGlombik If you are referring to forest, I agree, but giving a list of packages you have in mind might help here.

    – marmot
    yesterday

















Also, there are many packages, which allow you to construct trees which are easier to use.

– Viktor Glombik
yesterday





Also, there are many packages, which allow you to construct trees which are easier to use.

– Viktor Glombik
yesterday













@ViktorGlombik If you are referring to forest, I agree, but giving a list of packages you have in mind might help here.

– marmot
yesterday





@ViktorGlombik If you are referring to forest, I agree, but giving a list of packages you have in mind might help here.

– marmot
yesterday










1 Answer
1






active

oldest

votes


















5















  1. The circles appear because you have node{} in path [line] (s2) -- node {}(ch2);

  2. You can add arrows by saying edge from parent/.style={draw,-latex'}.

  3. You were loading graphdrawing but it is not obvious to me you were using it.


  4. left=2cm of char 1 should probably be left=2cm of ch1.

  5. You can change the dimensions/distances at any level using e.g. level 1/.style={sibling distance=50mm},level 2/.style={sibling distance=15mm},level 3/.style={text width=1cm,font=tiny}.

  6. To debug you may temporarily set opacity=0.5 to better understand where some nodes went.

  7. The rest of your statements I do not understand. Could you perhaps consider making them clearer?




documentclass{article}
usepackage{tikz}
usetikzlibrary{shapes,arrows,calc,positioning}
usetikzlibrary{graphs}
begin{document}
begin{tikzpicture}[sibling distance=10em,%opacity=0.5,
every node/.style = {shape=rectangle, rounded corners,
draw, align=center,
top color=white, bottom color=white!20},
line/.style={draw, -latex'},
edge from parent/.style={draw,-latex'},
level 1/.style={sibling distance=50mm},
level 2/.style={sibling distance=15mm},
level 3/.style={text width=1cm,font=tiny}]
node {P}
child { node (ch1){char1}
child { node {T 1}
child { node {comment} } }
child { node {T 2}
child { node {comment} } }
child { node {T 3}
child { node {comment} } } node [left=2cm of ch1] (s1){script 1}}
child { node (ch2){char 2}
child { node {T 2}
child { node {comment} } }
child { node {T 4}
child { node {comment} } }
child { node {T 5}
child { node {comment} } } node [right=2cm of ch2] (s2){script 2}};
%Draw edges
path [line] (s2) -- (ch2);
path [line] (s1) -- (ch1);
end{tikzpicture}
end{document}

documentclass{article}
usepackage{tikz}
usetikzlibrary{graphdrawing}
usetikzlibrary{shapes,arrows,calc}
usetikzlibrary{graphs}
tikzstyle{line} = [draw, -latex']
begin{document}
begin{tikzpicture}[sibling distance=10em,
every node/.style = {shape=rectangle, rounded corners,
draw, align=center,
top color=white, bottom color=white!20}]]
node {P}
child { node (ch1){char1}
child { node {T 1}
child { node {comment} } }
child { node {T 2}
child { node {comment} } }
child { node {T 3}
child { node {comment} } } node [left=2cm of char 1] (s1){script 1}}
child { node (ch2){char 2}
child { node {T 2}
child { node {comment} } }
child { node {T 4}
child { node {comment} } }
child { node {T 5}
child { node {comment} } } node [right=2cm of char 2] (s2){script 2}};
%Draw edges
path [line] (s2) -- node {}(ch2);
path [line] (s1) -- node {}(ch1);
end{tikzpicture}

end{document}


enter image description here



I am confused by your comments. Something like this?



documentclass{article}
usepackage{tikz}
usetikzlibrary{shapes,arrows,calc,positioning}
usetikzlibrary{graphs}
begin{document}
begin{tikzpicture}[sibling distance=10em,%opacity=0.5,
every node/.style = {shape=rectangle, rounded corners,
draw, align=center,
top color=white, bottom color=white!20},
line/.style={draw, -latex'},
edge from parent/.style={draw,-latex'},
level 1/.style={sibling distance=30mm},
level 2/.style={sibling distance=15mm},
level 3/.style={text width=1cm,font=tiny}]
node {P}
child { node (ch1){char1}
child { node {T 1}
child { node {comment} } }
child { node {T 3}
child { node {comment} } }
child { node {T 2}
child { node {comment} } } node [left=2cm of ch1] (s1){script 1}}
child { node (ch2){char 2}
child { node {T 2}
child { node {comment} } }
child { node {T 4}
child { node {comment} } }
child { node {T 5}
child { node {comment} } } node [right=2cm of ch2] (s2){script 2}};
%Draw edges
path [line] (s2) -- (ch2);
path [line] (s1) -- (ch1);
end{tikzpicture}
end{document}


enter image description here



Note that this is just to clarify your request, and not a proposal for really do this. (And this is not a tree.)






share|improve this answer


























  • Thanks for the answer but I still do not see the leave corresponding to T 3. where is it?

    – Dalek
    yesterday











  • @Dalek It is where you put it: under T4. You can check this by adding opacity=0.5 to the options of begin{tikzpicture}. May I ask where you want to have it?

    – marmot
    yesterday











  • but as I said in my question I want to be able to play with the distances of leaves from each other in order to avoid this overlap. How can I include it in my code?

    – Dalek
    yesterday











  • @Dalek I edited my answer accordingly. (Your question contains a sentence that runs over four lines, I apologize if I missed some things when trying to parse it.)

    – marmot
    yesterday













  • @mamot Thanks. Is it possible in the case of shared lower level node, both the higher level char1 and char2 be connected to the same node for instance, T2 instead of having two nodes?

    – Dalek
    yesterday













Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "85"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f473550%2fmaking-tree-structure-using-tikz%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









5















  1. The circles appear because you have node{} in path [line] (s2) -- node {}(ch2);

  2. You can add arrows by saying edge from parent/.style={draw,-latex'}.

  3. You were loading graphdrawing but it is not obvious to me you were using it.


  4. left=2cm of char 1 should probably be left=2cm of ch1.

  5. You can change the dimensions/distances at any level using e.g. level 1/.style={sibling distance=50mm},level 2/.style={sibling distance=15mm},level 3/.style={text width=1cm,font=tiny}.

  6. To debug you may temporarily set opacity=0.5 to better understand where some nodes went.

  7. The rest of your statements I do not understand. Could you perhaps consider making them clearer?




documentclass{article}
usepackage{tikz}
usetikzlibrary{shapes,arrows,calc,positioning}
usetikzlibrary{graphs}
begin{document}
begin{tikzpicture}[sibling distance=10em,%opacity=0.5,
every node/.style = {shape=rectangle, rounded corners,
draw, align=center,
top color=white, bottom color=white!20},
line/.style={draw, -latex'},
edge from parent/.style={draw,-latex'},
level 1/.style={sibling distance=50mm},
level 2/.style={sibling distance=15mm},
level 3/.style={text width=1cm,font=tiny}]
node {P}
child { node (ch1){char1}
child { node {T 1}
child { node {comment} } }
child { node {T 2}
child { node {comment} } }
child { node {T 3}
child { node {comment} } } node [left=2cm of ch1] (s1){script 1}}
child { node (ch2){char 2}
child { node {T 2}
child { node {comment} } }
child { node {T 4}
child { node {comment} } }
child { node {T 5}
child { node {comment} } } node [right=2cm of ch2] (s2){script 2}};
%Draw edges
path [line] (s2) -- (ch2);
path [line] (s1) -- (ch1);
end{tikzpicture}
end{document}

documentclass{article}
usepackage{tikz}
usetikzlibrary{graphdrawing}
usetikzlibrary{shapes,arrows,calc}
usetikzlibrary{graphs}
tikzstyle{line} = [draw, -latex']
begin{document}
begin{tikzpicture}[sibling distance=10em,
every node/.style = {shape=rectangle, rounded corners,
draw, align=center,
top color=white, bottom color=white!20}]]
node {P}
child { node (ch1){char1}
child { node {T 1}
child { node {comment} } }
child { node {T 2}
child { node {comment} } }
child { node {T 3}
child { node {comment} } } node [left=2cm of char 1] (s1){script 1}}
child { node (ch2){char 2}
child { node {T 2}
child { node {comment} } }
child { node {T 4}
child { node {comment} } }
child { node {T 5}
child { node {comment} } } node [right=2cm of char 2] (s2){script 2}};
%Draw edges
path [line] (s2) -- node {}(ch2);
path [line] (s1) -- node {}(ch1);
end{tikzpicture}

end{document}


enter image description here



I am confused by your comments. Something like this?



documentclass{article}
usepackage{tikz}
usetikzlibrary{shapes,arrows,calc,positioning}
usetikzlibrary{graphs}
begin{document}
begin{tikzpicture}[sibling distance=10em,%opacity=0.5,
every node/.style = {shape=rectangle, rounded corners,
draw, align=center,
top color=white, bottom color=white!20},
line/.style={draw, -latex'},
edge from parent/.style={draw,-latex'},
level 1/.style={sibling distance=30mm},
level 2/.style={sibling distance=15mm},
level 3/.style={text width=1cm,font=tiny}]
node {P}
child { node (ch1){char1}
child { node {T 1}
child { node {comment} } }
child { node {T 3}
child { node {comment} } }
child { node {T 2}
child { node {comment} } } node [left=2cm of ch1] (s1){script 1}}
child { node (ch2){char 2}
child { node {T 2}
child { node {comment} } }
child { node {T 4}
child { node {comment} } }
child { node {T 5}
child { node {comment} } } node [right=2cm of ch2] (s2){script 2}};
%Draw edges
path [line] (s2) -- (ch2);
path [line] (s1) -- (ch1);
end{tikzpicture}
end{document}


enter image description here



Note that this is just to clarify your request, and not a proposal for really do this. (And this is not a tree.)






share|improve this answer


























  • Thanks for the answer but I still do not see the leave corresponding to T 3. where is it?

    – Dalek
    yesterday











  • @Dalek It is where you put it: under T4. You can check this by adding opacity=0.5 to the options of begin{tikzpicture}. May I ask where you want to have it?

    – marmot
    yesterday











  • but as I said in my question I want to be able to play with the distances of leaves from each other in order to avoid this overlap. How can I include it in my code?

    – Dalek
    yesterday











  • @Dalek I edited my answer accordingly. (Your question contains a sentence that runs over four lines, I apologize if I missed some things when trying to parse it.)

    – marmot
    yesterday













  • @mamot Thanks. Is it possible in the case of shared lower level node, both the higher level char1 and char2 be connected to the same node for instance, T2 instead of having two nodes?

    – Dalek
    yesterday


















5















  1. The circles appear because you have node{} in path [line] (s2) -- node {}(ch2);

  2. You can add arrows by saying edge from parent/.style={draw,-latex'}.

  3. You were loading graphdrawing but it is not obvious to me you were using it.


  4. left=2cm of char 1 should probably be left=2cm of ch1.

  5. You can change the dimensions/distances at any level using e.g. level 1/.style={sibling distance=50mm},level 2/.style={sibling distance=15mm},level 3/.style={text width=1cm,font=tiny}.

  6. To debug you may temporarily set opacity=0.5 to better understand where some nodes went.

  7. The rest of your statements I do not understand. Could you perhaps consider making them clearer?




documentclass{article}
usepackage{tikz}
usetikzlibrary{shapes,arrows,calc,positioning}
usetikzlibrary{graphs}
begin{document}
begin{tikzpicture}[sibling distance=10em,%opacity=0.5,
every node/.style = {shape=rectangle, rounded corners,
draw, align=center,
top color=white, bottom color=white!20},
line/.style={draw, -latex'},
edge from parent/.style={draw,-latex'},
level 1/.style={sibling distance=50mm},
level 2/.style={sibling distance=15mm},
level 3/.style={text width=1cm,font=tiny}]
node {P}
child { node (ch1){char1}
child { node {T 1}
child { node {comment} } }
child { node {T 2}
child { node {comment} } }
child { node {T 3}
child { node {comment} } } node [left=2cm of ch1] (s1){script 1}}
child { node (ch2){char 2}
child { node {T 2}
child { node {comment} } }
child { node {T 4}
child { node {comment} } }
child { node {T 5}
child { node {comment} } } node [right=2cm of ch2] (s2){script 2}};
%Draw edges
path [line] (s2) -- (ch2);
path [line] (s1) -- (ch1);
end{tikzpicture}
end{document}

documentclass{article}
usepackage{tikz}
usetikzlibrary{graphdrawing}
usetikzlibrary{shapes,arrows,calc}
usetikzlibrary{graphs}
tikzstyle{line} = [draw, -latex']
begin{document}
begin{tikzpicture}[sibling distance=10em,
every node/.style = {shape=rectangle, rounded corners,
draw, align=center,
top color=white, bottom color=white!20}]]
node {P}
child { node (ch1){char1}
child { node {T 1}
child { node {comment} } }
child { node {T 2}
child { node {comment} } }
child { node {T 3}
child { node {comment} } } node [left=2cm of char 1] (s1){script 1}}
child { node (ch2){char 2}
child { node {T 2}
child { node {comment} } }
child { node {T 4}
child { node {comment} } }
child { node {T 5}
child { node {comment} } } node [right=2cm of char 2] (s2){script 2}};
%Draw edges
path [line] (s2) -- node {}(ch2);
path [line] (s1) -- node {}(ch1);
end{tikzpicture}

end{document}


enter image description here



I am confused by your comments. Something like this?



documentclass{article}
usepackage{tikz}
usetikzlibrary{shapes,arrows,calc,positioning}
usetikzlibrary{graphs}
begin{document}
begin{tikzpicture}[sibling distance=10em,%opacity=0.5,
every node/.style = {shape=rectangle, rounded corners,
draw, align=center,
top color=white, bottom color=white!20},
line/.style={draw, -latex'},
edge from parent/.style={draw,-latex'},
level 1/.style={sibling distance=30mm},
level 2/.style={sibling distance=15mm},
level 3/.style={text width=1cm,font=tiny}]
node {P}
child { node (ch1){char1}
child { node {T 1}
child { node {comment} } }
child { node {T 3}
child { node {comment} } }
child { node {T 2}
child { node {comment} } } node [left=2cm of ch1] (s1){script 1}}
child { node (ch2){char 2}
child { node {T 2}
child { node {comment} } }
child { node {T 4}
child { node {comment} } }
child { node {T 5}
child { node {comment} } } node [right=2cm of ch2] (s2){script 2}};
%Draw edges
path [line] (s2) -- (ch2);
path [line] (s1) -- (ch1);
end{tikzpicture}
end{document}


enter image description here



Note that this is just to clarify your request, and not a proposal for really do this. (And this is not a tree.)






share|improve this answer


























  • Thanks for the answer but I still do not see the leave corresponding to T 3. where is it?

    – Dalek
    yesterday











  • @Dalek It is where you put it: under T4. You can check this by adding opacity=0.5 to the options of begin{tikzpicture}. May I ask where you want to have it?

    – marmot
    yesterday











  • but as I said in my question I want to be able to play with the distances of leaves from each other in order to avoid this overlap. How can I include it in my code?

    – Dalek
    yesterday











  • @Dalek I edited my answer accordingly. (Your question contains a sentence that runs over four lines, I apologize if I missed some things when trying to parse it.)

    – marmot
    yesterday













  • @mamot Thanks. Is it possible in the case of shared lower level node, both the higher level char1 and char2 be connected to the same node for instance, T2 instead of having two nodes?

    – Dalek
    yesterday
















5












5








5








  1. The circles appear because you have node{} in path [line] (s2) -- node {}(ch2);

  2. You can add arrows by saying edge from parent/.style={draw,-latex'}.

  3. You were loading graphdrawing but it is not obvious to me you were using it.


  4. left=2cm of char 1 should probably be left=2cm of ch1.

  5. You can change the dimensions/distances at any level using e.g. level 1/.style={sibling distance=50mm},level 2/.style={sibling distance=15mm},level 3/.style={text width=1cm,font=tiny}.

  6. To debug you may temporarily set opacity=0.5 to better understand where some nodes went.

  7. The rest of your statements I do not understand. Could you perhaps consider making them clearer?




documentclass{article}
usepackage{tikz}
usetikzlibrary{shapes,arrows,calc,positioning}
usetikzlibrary{graphs}
begin{document}
begin{tikzpicture}[sibling distance=10em,%opacity=0.5,
every node/.style = {shape=rectangle, rounded corners,
draw, align=center,
top color=white, bottom color=white!20},
line/.style={draw, -latex'},
edge from parent/.style={draw,-latex'},
level 1/.style={sibling distance=50mm},
level 2/.style={sibling distance=15mm},
level 3/.style={text width=1cm,font=tiny}]
node {P}
child { node (ch1){char1}
child { node {T 1}
child { node {comment} } }
child { node {T 2}
child { node {comment} } }
child { node {T 3}
child { node {comment} } } node [left=2cm of ch1] (s1){script 1}}
child { node (ch2){char 2}
child { node {T 2}
child { node {comment} } }
child { node {T 4}
child { node {comment} } }
child { node {T 5}
child { node {comment} } } node [right=2cm of ch2] (s2){script 2}};
%Draw edges
path [line] (s2) -- (ch2);
path [line] (s1) -- (ch1);
end{tikzpicture}
end{document}

documentclass{article}
usepackage{tikz}
usetikzlibrary{graphdrawing}
usetikzlibrary{shapes,arrows,calc}
usetikzlibrary{graphs}
tikzstyle{line} = [draw, -latex']
begin{document}
begin{tikzpicture}[sibling distance=10em,
every node/.style = {shape=rectangle, rounded corners,
draw, align=center,
top color=white, bottom color=white!20}]]
node {P}
child { node (ch1){char1}
child { node {T 1}
child { node {comment} } }
child { node {T 2}
child { node {comment} } }
child { node {T 3}
child { node {comment} } } node [left=2cm of char 1] (s1){script 1}}
child { node (ch2){char 2}
child { node {T 2}
child { node {comment} } }
child { node {T 4}
child { node {comment} } }
child { node {T 5}
child { node {comment} } } node [right=2cm of char 2] (s2){script 2}};
%Draw edges
path [line] (s2) -- node {}(ch2);
path [line] (s1) -- node {}(ch1);
end{tikzpicture}

end{document}


enter image description here



I am confused by your comments. Something like this?



documentclass{article}
usepackage{tikz}
usetikzlibrary{shapes,arrows,calc,positioning}
usetikzlibrary{graphs}
begin{document}
begin{tikzpicture}[sibling distance=10em,%opacity=0.5,
every node/.style = {shape=rectangle, rounded corners,
draw, align=center,
top color=white, bottom color=white!20},
line/.style={draw, -latex'},
edge from parent/.style={draw,-latex'},
level 1/.style={sibling distance=30mm},
level 2/.style={sibling distance=15mm},
level 3/.style={text width=1cm,font=tiny}]
node {P}
child { node (ch1){char1}
child { node {T 1}
child { node {comment} } }
child { node {T 3}
child { node {comment} } }
child { node {T 2}
child { node {comment} } } node [left=2cm of ch1] (s1){script 1}}
child { node (ch2){char 2}
child { node {T 2}
child { node {comment} } }
child { node {T 4}
child { node {comment} } }
child { node {T 5}
child { node {comment} } } node [right=2cm of ch2] (s2){script 2}};
%Draw edges
path [line] (s2) -- (ch2);
path [line] (s1) -- (ch1);
end{tikzpicture}
end{document}


enter image description here



Note that this is just to clarify your request, and not a proposal for really do this. (And this is not a tree.)






share|improve this answer
















  1. The circles appear because you have node{} in path [line] (s2) -- node {}(ch2);

  2. You can add arrows by saying edge from parent/.style={draw,-latex'}.

  3. You were loading graphdrawing but it is not obvious to me you were using it.


  4. left=2cm of char 1 should probably be left=2cm of ch1.

  5. You can change the dimensions/distances at any level using e.g. level 1/.style={sibling distance=50mm},level 2/.style={sibling distance=15mm},level 3/.style={text width=1cm,font=tiny}.

  6. To debug you may temporarily set opacity=0.5 to better understand where some nodes went.

  7. The rest of your statements I do not understand. Could you perhaps consider making them clearer?




documentclass{article}
usepackage{tikz}
usetikzlibrary{shapes,arrows,calc,positioning}
usetikzlibrary{graphs}
begin{document}
begin{tikzpicture}[sibling distance=10em,%opacity=0.5,
every node/.style = {shape=rectangle, rounded corners,
draw, align=center,
top color=white, bottom color=white!20},
line/.style={draw, -latex'},
edge from parent/.style={draw,-latex'},
level 1/.style={sibling distance=50mm},
level 2/.style={sibling distance=15mm},
level 3/.style={text width=1cm,font=tiny}]
node {P}
child { node (ch1){char1}
child { node {T 1}
child { node {comment} } }
child { node {T 2}
child { node {comment} } }
child { node {T 3}
child { node {comment} } } node [left=2cm of ch1] (s1){script 1}}
child { node (ch2){char 2}
child { node {T 2}
child { node {comment} } }
child { node {T 4}
child { node {comment} } }
child { node {T 5}
child { node {comment} } } node [right=2cm of ch2] (s2){script 2}};
%Draw edges
path [line] (s2) -- (ch2);
path [line] (s1) -- (ch1);
end{tikzpicture}
end{document}

documentclass{article}
usepackage{tikz}
usetikzlibrary{graphdrawing}
usetikzlibrary{shapes,arrows,calc}
usetikzlibrary{graphs}
tikzstyle{line} = [draw, -latex']
begin{document}
begin{tikzpicture}[sibling distance=10em,
every node/.style = {shape=rectangle, rounded corners,
draw, align=center,
top color=white, bottom color=white!20}]]
node {P}
child { node (ch1){char1}
child { node {T 1}
child { node {comment} } }
child { node {T 2}
child { node {comment} } }
child { node {T 3}
child { node {comment} } } node [left=2cm of char 1] (s1){script 1}}
child { node (ch2){char 2}
child { node {T 2}
child { node {comment} } }
child { node {T 4}
child { node {comment} } }
child { node {T 5}
child { node {comment} } } node [right=2cm of char 2] (s2){script 2}};
%Draw edges
path [line] (s2) -- node {}(ch2);
path [line] (s1) -- node {}(ch1);
end{tikzpicture}

end{document}


enter image description here



I am confused by your comments. Something like this?



documentclass{article}
usepackage{tikz}
usetikzlibrary{shapes,arrows,calc,positioning}
usetikzlibrary{graphs}
begin{document}
begin{tikzpicture}[sibling distance=10em,%opacity=0.5,
every node/.style = {shape=rectangle, rounded corners,
draw, align=center,
top color=white, bottom color=white!20},
line/.style={draw, -latex'},
edge from parent/.style={draw,-latex'},
level 1/.style={sibling distance=30mm},
level 2/.style={sibling distance=15mm},
level 3/.style={text width=1cm,font=tiny}]
node {P}
child { node (ch1){char1}
child { node {T 1}
child { node {comment} } }
child { node {T 3}
child { node {comment} } }
child { node {T 2}
child { node {comment} } } node [left=2cm of ch1] (s1){script 1}}
child { node (ch2){char 2}
child { node {T 2}
child { node {comment} } }
child { node {T 4}
child { node {comment} } }
child { node {T 5}
child { node {comment} } } node [right=2cm of ch2] (s2){script 2}};
%Draw edges
path [line] (s2) -- (ch2);
path [line] (s1) -- (ch1);
end{tikzpicture}
end{document}


enter image description here



Note that this is just to clarify your request, and not a proposal for really do this. (And this is not a tree.)







share|improve this answer














share|improve this answer



share|improve this answer








edited yesterday

























answered yesterday









marmotmarmot

97.9k4113217




97.9k4113217













  • Thanks for the answer but I still do not see the leave corresponding to T 3. where is it?

    – Dalek
    yesterday











  • @Dalek It is where you put it: under T4. You can check this by adding opacity=0.5 to the options of begin{tikzpicture}. May I ask where you want to have it?

    – marmot
    yesterday











  • but as I said in my question I want to be able to play with the distances of leaves from each other in order to avoid this overlap. How can I include it in my code?

    – Dalek
    yesterday











  • @Dalek I edited my answer accordingly. (Your question contains a sentence that runs over four lines, I apologize if I missed some things when trying to parse it.)

    – marmot
    yesterday













  • @mamot Thanks. Is it possible in the case of shared lower level node, both the higher level char1 and char2 be connected to the same node for instance, T2 instead of having two nodes?

    – Dalek
    yesterday





















  • Thanks for the answer but I still do not see the leave corresponding to T 3. where is it?

    – Dalek
    yesterday











  • @Dalek It is where you put it: under T4. You can check this by adding opacity=0.5 to the options of begin{tikzpicture}. May I ask where you want to have it?

    – marmot
    yesterday











  • but as I said in my question I want to be able to play with the distances of leaves from each other in order to avoid this overlap. How can I include it in my code?

    – Dalek
    yesterday











  • @Dalek I edited my answer accordingly. (Your question contains a sentence that runs over four lines, I apologize if I missed some things when trying to parse it.)

    – marmot
    yesterday













  • @mamot Thanks. Is it possible in the case of shared lower level node, both the higher level char1 and char2 be connected to the same node for instance, T2 instead of having two nodes?

    – Dalek
    yesterday



















Thanks for the answer but I still do not see the leave corresponding to T 3. where is it?

– Dalek
yesterday





Thanks for the answer but I still do not see the leave corresponding to T 3. where is it?

– Dalek
yesterday













@Dalek It is where you put it: under T4. You can check this by adding opacity=0.5 to the options of begin{tikzpicture}. May I ask where you want to have it?

– marmot
yesterday





@Dalek It is where you put it: under T4. You can check this by adding opacity=0.5 to the options of begin{tikzpicture}. May I ask where you want to have it?

– marmot
yesterday













but as I said in my question I want to be able to play with the distances of leaves from each other in order to avoid this overlap. How can I include it in my code?

– Dalek
yesterday





but as I said in my question I want to be able to play with the distances of leaves from each other in order to avoid this overlap. How can I include it in my code?

– Dalek
yesterday













@Dalek I edited my answer accordingly. (Your question contains a sentence that runs over four lines, I apologize if I missed some things when trying to parse it.)

– marmot
yesterday







@Dalek I edited my answer accordingly. (Your question contains a sentence that runs over four lines, I apologize if I missed some things when trying to parse it.)

– marmot
yesterday















@mamot Thanks. Is it possible in the case of shared lower level node, both the higher level char1 and char2 be connected to the same node for instance, T2 instead of having two nodes?

– Dalek
yesterday







@mamot Thanks. Is it possible in the case of shared lower level node, both the higher level char1 and char2 be connected to the same node for instance, T2 instead of having two nodes?

– Dalek
yesterday




















draft saved

draft discarded




















































Thanks for contributing an answer to TeX - LaTeX Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f473550%2fmaking-tree-structure-using-tikz%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

"Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

Alcedinidae

RAC Tourist Trophy