I have the image below

enter image description here using the code

\usepackage{graphicx} % Required for inserting images
\usetikzlibrary {automata,positioning}
\usetikzlibrary {arrows.meta}

        [auto=right, thick,
shorten <>/.style = {shorten <=#1, shorten >=#1},
         N/.style = {draw,black, minimum size=8mm, align=center, font=\large},ultra thick,
        % Big circle
every edge/.append style = {draw, -Stealth}

\foreach \x [count=\p] in {0,...,11} {
        \node[shape=circle,fill=black, scale=0.4] (\p) at (-\x*30:2) {};};
    \foreach \x [count=\p] in {0,...,5} {
        \draw (-\x*60:2.4) node {};
        \draw (-30-\x*60:2.4) ;}; 
    \draw (1) arc (0:360:2);
\node (Agent1) [N, right = 2cm of 1, fill= blue!10] {$u_1$};

\node (Agent1) [N, right = 2cm of 3, fill= blue!10] {$y_2$};

\node (Agent1) [N, right = 2cm of 11, fill= blue!10] {$y_1$};

\node (Agent1) [N, left = 2cm of 9, fill= blue!10] {$y_6$};

\node (Agent1) [N, left = 2cm of 7, fill= blue!10] {$u_6$};

\node (Agent1) [N, left = 2cm of 5, fill= blue!10] {$u_5$};

\node (Agent1) [N, below  = 1.5cm of 3, fill= blue!10] {$u_3$};


This is the image I am trying to create.

enter image description here

  • It seems you have all the knowledge to draw what you want. What exactly is the problem? (Maybe a picture of failed attempt will help.) (Also, can you start from \documentclass in your code?)
    – Symbol 1
    May 27 at 5:23
  • I have updated my question. Thank you for your help.
    – Tee
    May 27 at 5:29

1 Answer 1


A plain TikZ solution, using a couple of styles, \foreach loops and polar coordinates for all the nodes:


  big node/.style={circle,draw,fill=gray!#1},
  small node/.style={rectangle,rounded corners,draw,fill=gray!#1},
\begin{tikzpicture}[line cap=round,line join=round,-latex]
\node[big node=80,fill=gray,minimum size=2.5cm] (s) at (0,0) {System};
\foreach\i in {1,...,6}
  \node[big node=60]   (a\i) at (120-60*\i:4.5) {Agent \i};
  \node[small node=30] (y\i) at (135-60*\i:2.5) {$y_\i$};
  \node[small node=20] (u\i) at (105-60*\i:2.5) {$u_\i$};
  \draw (s)   -- (y\i);
  \draw (y\i) -- (a\i);
  \draw (a\i) -- (u\i);
  \draw (u\i) -- (s);
\foreach\i in {1,...,6}
  \draw[dashed] (a\j) -- (a\i);

[1]: https://i.stack.imgur.com/1sVaj.png

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .