I am a new to tikz, I want to draw the image given below:

enter image description here

Till now i am able to do this much only circle only :

\draw (-.5,0)--(1.5,0);    
\draw (0,-.5)--(0,1.5);    
\draw (1,0) arc (-25:70:1cm);    

I'd consider doing this using \graph as below; you can tweak the bend angles as you see fit.

enter image description here



\tikzset{>=stealth,every node/.append style={draw=black,circle,fill=white!80!black}}

    \begin{tikzpicture}[remember picture]
        % left hand piece
        \graph[grow down,name separator=-,edge={draw=red,thick}]{
            [name=vert] 0->1->2->3->4->5->6->7->8->9};
        \draw [->,red,thick](vert-9) to[bend left=45](vert-0);
    \begin{tikzpicture}[draw=blue,->,thick,remember picture]
        % right hand piece
        \graph [clockwise=6,radius=1.5cm,name separator=-] {
        \foreach \x/\y in {0/1,1/2,2/3,3/4,4/5,5/0}{
                \draw (circle-\x) to [bend left=25] (circle-\y);
    \begin{tikzpicture}[remember picture,overlay]
        % evens
        \foreach \x/\y in {0/0,2/15,4/20,6/30,8/30}{
                \draw[->,dashed,black](vert-\x.east)to[bend left=\y](circle-0.north west);
        % odds
        \foreach \x/\y in {1/40,3/15,5/20,7/10,9/0}{
                \draw[->,dashed,black](vert-\x.east)to[bend right=\y](circle-3.south west);

\begin{tikzpicture}[>={Stealth[inset=0pt,length=12pt,angle'=26,round]}, line width=1.3pt]
\foreach \i in {0,...,9}
  \node (\i) at (0,-\i) [circle,draw,fill=black!20,inner sep=2pt,shift={(-7,4.5)}] {\i};

\foreach \i[count=\j from 0] in {90,30,...,-210}
  \node (c\j) at (\i:2) [circle,draw,fill=black!20,minimum size=15pt] {\j};

\foreach \i[count=\j from -1] in {0,...,9}{
  \ifnum\i>0 \draw[->,red] (\j) -- (\i); \fi;

\foreach \i[count=\j from 0] in {90,30,-30,-90,-150,-210}
    \draw[->,blue] (\i-\margin:2) arc (\i-\margin:\i-60+\margin:2); 

\draw[->,red] (9) to[bend left] (0);  

\foreach \i in {0,2,...,8}
  \draw[->,dotted] (\i) to[bend left=15] (c0.120);

\foreach \i in {1,3,...,9}
  \draw[->,dotted] (\i) to[bend right=15] (c3.-120);



enter image description here

  • How to correct this error .LaTeX Error: Can be used only in preamble in "amsart class" – Isla_Bonita Feb 21 '18 at 11:59

UPDATE: Some fine-tuning.

\tikzset{DynkinNode/.style={fill=gray!50,circle,draw,minimum size=1em,inner sep=0pt,font=\scriptsize}}
\foreach \i in {0,...,6}
\ifnum\i<6\node[DynkinNode] (c\i) at (\angle:1){\i};
\draw[thick,blue,-latex](c\j) to[bend left=18] (c\i);
\draw[thick,blue,-latex](c5) to[bend left=18] (c0);
\node[DynkinNode] (a0) at (-3,3) {0};
\foreach \i in {1,...,9}
\node[DynkinNode,below=0.3cm of a\j] (a\i){\i};
\draw[thick,red,-latex](a\j) --  (a\i);
\draw[dotted,-latex] plot[smooth] coordinates{(a\i.east) ($(c3)-(1cm,\k pt)$)
(c3.south west)};
\draw[dotted,-latex] plot[smooth] coordinates{(a\i.east) ($(c0)-(1.3cm,-1cm)
+(0,-\k pt)$)
(c0.north west)};
\draw[dotted,-latex] plot[smooth] coordinates{(a0.east) ($(c0)-(1.3cm,-1cm)$)
(c0.north west)};
\draw[thick,red,-latex] plot[smooth] coordinates{(a9.north west)
($(a4)!0.5!(a5)-(0.5cm,0)$)  (a0.south west)};

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.