0

I'm trying to draw a simple hierarchical structure using tkz-graph:

\begin{tikzpicture}
\Vertex[Math, L=\pi, x=0, y=4.5]{pi}
\Vertex[Math, L=\pi^{\frac{1}{32}}, x=-4.5, y=0]{pi_32_1}
\Vertex[Math, L=\pi^{\frac{1}{32}}, x=-3.5, y=0]{pi_32_2}
\Vertex[Math, L=\pi^{\frac{1}{32}}, x=-2.5, y=0]{pi_32_3}
\Vertex[Math, L=\pi^{\frac{1}{32}}, x=-1.5, y=0]{pi_32_4}
\Vertex[Math, L=\pi^{\frac{1}{32}}, x=1.5, y=0]{pi_32_5}
\Vertex[Math, L=\pi^{\frac{1}{32}}, x=2.5, y=0]{pi_32_6}
\Vertex[Math, L=\pi^{\frac{1}{32}}, x=3.5, y=0]{pi_32_7}
\Vertex[Math, L=\pi^{\frac{1}{32}}, x=4.5, y=0]{pi_32_8}
\Vertex[Math, L=\cdots, x=-0, y=0]{dots}
\Vertex[Math, L=\pi^{\frac{1}{16}}, x=-4, y=1.25]{pi_16_1}
\Vertex[Math, L=\pi^{\frac{1}{16}}, x=-2, y=1.25]{pi_16_2}
\Vertex[Math, L=\pi^{\frac{1}{16}}, x=2, y=1.25]{pi_16_3}
\Vertex[Math, L=\pi^{\frac{1}{16}}, x=4, y=1.25]{pi_16_4}
\Vertex[Math, L=\cdots, x=-0, y=1.25]{dots}
\Vertex[Math, L=\pi^{\frac{1}{8}}, x=-3, y=2.5]{pi_8_1}
\Vertex[Math, L=\pi^{\frac{1}{8}}, x=3, y=2.5]{pi_8_2}
\Vertex[Math, L=\cdots, x=-0, y=2.5]{dots}
\Vertex[Math, L=\pi^{\frac{1}{2}}, x=-1.25, y=3.75]{pi_2_1}
\Vertex[Math, L=\pi^{\frac{1}{2}}, x=1.25, y=3.75]{pi_2_2}
\SetUpEdge[style={->}]
\Edge(pi_32_1)(pi_16_1)
\Edge(pi_32_2)(pi_16_1)
\Edge(pi_32_3)(pi_16_2)
\Edge(pi_32_4)(pi_16_2)
\Edge(pi_32_5)(pi_16_3)
\Edge(pi_32_6)(pi_16_3)
\Edge(pi_32_7)(pi_16_4)
\Edge(pi_32_8)(pi_16_4)
\Edge(pi_16_1)(pi_8_1)
\Edge(pi_16_2)(pi_8_1)
\Edge(pi_16_3)(pi_8_2)
\Edge(pi_16_4)(pi_8_2)  
\Edge[label=...](pi_8_1)(pi_2_1)
\Edge[label=...](pi_8_2)(pi_2_2)
\Edge(pi_2_1)(pi)
\Edge(pi_2_2)(pi)
\end{tikzpicture}

This currently gives me:

enter image description here

I just want the vertices with dots in to not have a circle around them. Is there a way I can do this? Or is there a different way to have dots to 'fill in spaces'.

In this graph, on the lowest level, there are 32 nodes, the next 16, and so on til 1. But I want to just use dots as fillers so I don't need to draw the full graph, since it should be simple to see how the graph can be completed.

Any help is appreciated! Thanks

  • 1
    Add option draw=none to the ... nodes. – The old JouleV Feb 19 at 17:51
  • @JouleV Thanks for the response! how do I add an option to these nodes? – user-2147482565 Feb 19 at 18:13
  • USe \node at (0,0) {$\ldots$}; instead of \Vertex[Math, L=\cdots, x=-0, y=0]{dots} – ferahfeza Feb 19 at 18:22
  • 1
    Welcome to TeX.SE! You only need to do what @JouleV was suggesting: put these things in a scope in which draw is switched off: \begin{scope}[VertexStyle/.style = {draw=none}] \Vertex[Math, L=\cdots, x=-0, y=0]{dots} \Vertex[Math, L=\cdots, x=-0, y=2.5]{dots} \Vertex[Math, L=\cdots, x=-0, y=1.25]{dots} \end{scope}. You will get more enthusiastic support if you provide us with an MWE, i.e. a document that starts with \documentclass and ends with \end{document}. – marmot Feb 19 at 21:45
0

Based on the suggestions by @marmot and @JouleV, here the code:

\documentclass{standalone}
\usepackage{tkz-berge}
\begin{document}
\begin{tikzpicture}
\Vertex[Math, L=\pi, x=0, y=4.5]{pi}
\Vertex[Math, L=\pi^{\frac{1}{32}}, x=-4.5, y=0]{pi_32_1}
\Vertex[Math, L=\pi^{\frac{1}{32}}, x=-3.5, y=0]{pi_32_2}
\Vertex[Math, L=\pi^{\frac{1}{32}}, x=-2.5, y=0]{pi_32_3}
\Vertex[Math, L=\pi^{\frac{1}{32}}, x=-1.5, y=0]{pi_32_4}
\Vertex[Math, L=\pi^{\frac{1}{32}}, x=1.5, y=0]{pi_32_5}
\Vertex[Math, L=\pi^{\frac{1}{32}}, x=2.5, y=0]{pi_32_6}
\Vertex[Math, L=\pi^{\frac{1}{32}}, x=3.5, y=0]{pi_32_7}
\Vertex[Math, L=\pi^{\frac{1}{32}}, x=4.5, y=0]{pi_32_8}
\begin{scope}[VertexStyle/.style = {draw=none}]
\Vertex[Math, L=\cdots, x=-0, y=0]{dots}
\end{scope}
\Vertex[Math, L=\pi^{\frac{1}{16}}, x=-4, y=1.25]{pi_16_1}
\Vertex[Math, L=\pi^{\frac{1}{16}}, x=-2, y=1.25]{pi_16_2}
\Vertex[Math, L=\pi^{\frac{1}{16}}, x=2, y=1.25]{pi_16_3}
\Vertex[Math, L=\pi^{\frac{1}{16}}, x=4, y=1.25]{pi_16_4}
\begin{scope}[VertexStyle/.style = {draw=none}]
\Vertex[Math, L=\cdots, x=-0, y=1.25]{dots}
\end{scope}
\Vertex[Math, L=\pi^{\frac{1}{8}}, x=-3, y=2.5]{pi_8_1}
\Vertex[Math, L=\pi^{\frac{1}{8}}, x=3, y=2.5]{pi_8_2}
\begin{scope}[VertexStyle/.style = {draw=none}]
\Vertex[Math, L=\cdots, x=-0, y=2.5]{dots}
\end{scope}
\Vertex[Math, L=\pi^{\frac{1}{2}}, x=-1.25, y=3.75]{pi_2_1}
\Vertex[Math, L=\pi^{\frac{1}{2}}, x=1.25, y=3.75]{pi_2_2}
\SetUpEdge[style={->}]
\Edge(pi_32_1)(pi_16_1)
\Edge(pi_32_2)(pi_16_1)
\Edge(pi_32_3)(pi_16_2)
\Edge(pi_32_4)(pi_16_2)
\Edge(pi_32_5)(pi_16_3)
\Edge(pi_32_6)(pi_16_3)
\Edge(pi_32_7)(pi_16_4)
\Edge(pi_32_8)(pi_16_4)
\Edge(pi_16_1)(pi_8_1)
\Edge(pi_16_2)(pi_8_1)
\Edge(pi_16_3)(pi_8_2)
\Edge(pi_16_4)(pi_8_2)
\Edge[label=...](pi_8_1)(pi_2_1)
\Edge[label=...](pi_8_2)(pi_2_2)
\Edge(pi_2_1)(pi)
\Edge(pi_2_2)(pi)
\end{tikzpicture}
\end{document} 

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.