Asking for suggestions on how to draw flower graphs

graphstikz-pgf

I am working on a structure I called a flower graph. Basically, it is many cycles with possibly different lengths sharing one central vertex and it can be drawn to look like a flower. For example the figure below should have 5 cycles with the lengths specified.

enter image description here

I need different instances of this graph none of which will have more than 5 cycles; however, I might need to add three dots to indicate continuation like the figure. The style I used for my vertices is

\tikzset{ myVrtxStyle/.style = {
        circle, minimum size= 4mm, %very thick, 
        draw= #1!60!black!85, 
        top color= white, bottom color= #1!70!black!60,
        font= \normalsize \ttfamily \bfseries, text= black,
    },
    myVrtxStyle/.default= gray,
    >= {Stealth[length=2.5mm]}
}

I am slightly better than beginners in tikz. The thought of where and how to begin designing a code to draw this structure is a bit daunting for me at my level. Any idea or suggestion that might help me or make my code easier is appreciated.

Best Answer

Just as a starting point, you can study this code, using the to[out=<>,in=<>] syntax to draw an automatic curve from the central node to itself (using different anchors).

flower graph

\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{fit}

\begin{document}

    \begin{tikzpicture}[dot/.style={fill=black, inner sep=0pt, outer sep=0pt, minimum size=3pt,circle}]

        \node[dot,minimum size=6pt] (O) {};

        \draw (O.80) to[out=70,in=110,looseness=500] node[dot,pos=0.2](C11){} node[dot,pos=0.45](C12){} node[dot,pos=0.75](C13){} node[dot,pos=0.85](C14){}  (O.100);
        \node[fit=(O)(C11)(C12)(C13)]{$C_1$};


        \draw (O.0) to[out=0,in=40,looseness=500] node[dot,pos=0.2](C21){} node[dot,pos=0.45](C22){} node[dot,pos=0.75](C23){} node[dot,pos=0.85](C24){} node[dot,pos=0.95](C25){}  (O.20);
        \node[fit=(C21)(C24)]{$C_2$};


        \draw (O.-80) to[out=-70,in=-110,looseness=500] node[dot,pos=0.3](CI1){} node[dot,pos=0.55](CI2){} node[dot,pos=0.85](CI3){}  (O.-100);
        \node[fit=(O)(CI1)(CI2)(CI3)]{$C_i$};

        \draw (O.160) to[out=140,in=180,looseness=500] node[dot,pos=0.1](CK1){} node[dot,pos=0.4](CK2){} node[dot,pos=0.6](CK3){} node[dot,pos=0.8](CK4){} (O.180);
        \node[fit=(CK1)(CK4)]{$C_k$};
    \end{tikzpicture}
\end{document}