I want to draw a figure with 6 small circles surrounding a circle in the middle

Edit: Drawing this (simple) diagram with pure tikz package directly in document is not so difficult. In this you need to do the following:

  • define nodes style (color as parameter, size with text width and align of multi line text with align=center (or flush center when you not liked eventual hyphenation of node's text)
  • define distance between centers of the planet and satellite node
  • draw satellite and arrows between \planetandsatelite`s nodes in loop, which determine color of satellites and text in it:
\documentclass[journal,comsoc]{IEEEtran}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\usepackage{caption}

\begin{document}
\begin{figure}
    \centering
\begin{tikzpicture}[
   planet/.style = {circle, draw=blue, semithick, fill=blue!30,
                    font=\large\bfseries, 
                    text width=24mm, inner sep=1mm,align=center}, %<---
satellite/.style = {circle, draw=#1, semithick, fill=#1!30,
                    text width=16mm, inner sep=1mm, align=center},%<---
      arr/.style = {-{Triangle[length=3mm,width=6mm]}, color=#1,
                    line width=3mm, shorten <=1mm, shorten >=1mm}
                    ]
% planet
\node (p)   [planet]    {Features};
% satellites and connections
\foreach \i/\j [count=\k] in {red/K, cyan/A, purple/P, teal/Z, orange/lack of resistance, yellow/Q}
{
    \node (s\k) [satellite=\i] at (\k*60:3.4) {\j};
    \draw[arr=\i] (p) -- (s\k);
}
    \end{tikzpicture}
\caption{Cycle of Interaction}
\end{figure}
\end{document}

which gives:

enter image description here

First version of answer:

Like this (reconstruction of showed image)?

enter image description here

For such diagrams is designed the smartdiagram package:

\documentclass{article}
\usepackage{smartdiagram}
\usetikzlibrary{arrows.meta}
\usepackage{caption}

\begin{document}
\begin{figure}
\smartdiagramset{  
    planet font=\large\bfseries,planet text width=28mm,
    satellite font=\normalsize\bfseries, satellite text width=22mm,
    distance planet-satellite=44mm,
/tikz/connection planet satellite/.append style={-{Triangle[length=3mm,width=6mm]},
                                                 line width=3mm},
                }
\centering
\smartdiagram[constellation diagram]%
{
% text in the planet
Chaleneges of Blockchain, 
% texts in satellites  
Privacy,    Authentication,     Bandwidth,          Bootstraping,   
Usability,  Data Malleability,  Wasted Resources,   Scalability%
}
\caption{Cycle of Interaction}
\end{figure}
\end{document}

or with six satellites with text given in your MWE:

enter image description here

\documentclass{article}
\usepackage{smartdiagram}
\usepackage{caption}

\begin{document}
\begin{figure}
\smartdiagramset{
    planet font=\large\bfseries, planet text width=5em, 
    satellite font=\normalsize, 
                }
\centering
\smartdiagram[constellation diagram]%
{
% text in the planet
Features,
% texts in satellites
K, A, P, Z, MM, Q%
}
\caption{Cycle of Interaction}
\end{figure}
\end{document}

Addendum: I overlooked which document class is used ... unfortunately smartdiagram doesn't work with IEEEtran document class (yet). To resolve this incompatibility there is two possibilities:

  • draw above proposition with standalone package and than import resulted pdf` file into document. For example:
\documentclass[tikz, margin=1pt]{standalone}
\usetikzlibrary{arrows.meta}

\begin{document}
\begin{tikzpicture}[
   planet/.style = {circle, draw=blue, semithick, fill=blue!30,
                    font=\large\bfseries, inner sep=2mm},
satellite/.style = {circle, draw=#1, semithick, fill=#1!30, 
                    minimum size=4em, inner sep=2mm},
      arr/.style = {-{Triangle[length=3mm,width=6mm]}, color=#1,
                    line width=3mm, shorten <=1mm, shorten >=1mm}
                    ]
% planet
\node (p)   [planet]    {Features};
% satellites and connections
\foreach \i/\j [count=\k] in {red/K, cyan/A, purple/P, teal/Z, orange/MM, yellow/Q}
{
    \node (s\k) [satellite=\i] at (\k*60:3.2) {\j};
    \draw[arr=\i] (p) -- (s\k);
}
    \end{tikzpicture}
\end{document}

which generate image as shown the second example above and insert its pdf file (for example named cycle-smartdiagram) in your document as follows:

\documentclass[journal,comsoc]{IEEEtran}
\usetikzlibrary{arrows.meta}

\begin{document}
\begin{figure}[h!]
    \centering
\includegraphics{cycle-smartdiagram}% or whatever name you select
\caption{Cycle of Interaction}
\label{fig:cycle}
\end{figure}
\end{document}
  • draw this (simple) diagram with pure tikz package directly in document (see edit on the top of answer)

Here's one solution. I've hidden the default mind map connectors (using concept color=none) and used the arrows.meta library to create new arrow connectors.

(Update @Zarko's arrows are similar to mine, but more simply implemented. I used unnecessarily complex code from another document of mine. I'll switch to his arrows, but leave my answer to show an answer using a mind map.)

\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{mindmap,arrows.meta}

\begin{document}
\begin{tikzpicture}[
    mindmap, every node/.style={concept, ball color=blue!30},
    concept color=none, grow cyclic,
    mindmapArrow/.style={-{Triangle[length=3mm,width=6mm]},
                         color=blue!20!white, line width=3mm,
                         shorten <=2mm, shorten >=2mm},
    root concept/.append style={minimum size=3.5em, text width=5em,
    font=\bfseries},
    level 1/.append style={sibling angle=60, level distance=2.5cm,
      minimum size=3em, text width=2em}]
  \node (root) [root concept] {Features}
    child { node (child1) {K} }
    child { node (child2) {A} }
    child { node (child3) {P} }
    child { node (child4) {Z} }
    child { node (child5) {MM} }
    child { node (child6) {Q} };
  \foreach \child in {1,...,6} {
    \draw[mindmapArrow] (root) -- (child\child);
  }
\end{tikzpicture}
\end{document}

Output


Maybe you can try to use a different (and much simpler) approach by the one based on \begin{tikzpicture}, etc..

For example, you can make your life easier if you use the Ipe program (http://ipe.otfried.org), which is free. Then you can easily draw your diagram and even use fonts of LaTeX and colours with different opacity. As it is well known, the exported .eps file by Ipe, can be included in your .tex file as follows

\begin{figure}[h!] 
    \centering
    \includegraphics[scale=0.6]{name.eps}
    \caption{...}
    \label{fig:..}
\end{figure}    

I hope this helps and provides a simpler solution.

Here is an example: enter image description here

Tags:

Tikz Styles