copy and scale one figure (wheel)How to properly smuggle (with or even without TikZ)?custom colour wheelHow can I nest multiple groups of nodes with the tikz package?drawing figure to scalewheel of emotions with tikzUsing more than one scale in the tikz documentChange TikZ Scale for One PathHow to draw timing wheelscale bar figure - showing scale with citationsDraw a shaded wheel in TikzDraw Life WheelA wheel-like figurecustom colour wheel

Translation of Scottish 16th century church stained glass

Flux received by a negative charge

Some numbers are more equivalent than others

Aligning individual characters/glyphs like a monospace font

What linear sensor for a keyboard?

Folder comparison

Engineer refusing to file/disclose patents

On a tidally locked planet, would time be quantized?

Have I saved too much for retirement so far?

How can Trident be so inexpensive? Will it orbit Triton or just do a (slow) flyby?

How can "mimic phobia" be cured or prevented?

Bob has never been a M before

ArcGIS not connecting to PostgreSQL db with all upper-case name

Are all species of CANNA edible?

Can I sign legal documents with a smiley face?

Did US corporations pay demonstrators in the German demonstrations against article 13?

Can someone explain how this makes sense electrically?

Customize circled numbers

Query about absorption line spectra

How do you respond to a colleague from another team when they're wrongly expecting that you'll help them?

What's the difference between 違法 and 不法?

Do Legal Documents Require Signing In Standard Pen Colors?

Are lightweight LN wallets vulnerable to transaction withholding?

Could the E-bike drivetrain wear down till needing replacement after 400 km?



copy and scale one figure (wheel)


How to properly smuggle (with or even without TikZ)?custom colour wheelHow can I nest multiple groups of nodes with the tikz package?drawing figure to scalewheel of emotions with tikzUsing more than one scale in the tikz documentChange TikZ Scale for One PathHow to draw timing wheelscale bar figure - showing scale with citationsDraw a shaded wheel in TikzDraw Life WheelA wheel-like figurecustom colour wheel













3















i want continues in previous post: custom colour wheel



This Minimal Code:



documentclassarticle
usepackage[a5paper,landscape,left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]geometry
usepackagexcolor
usepackagetikz
usetikzlibrarydecorations.text,shadings
renewcommand*familydefaultsfdefault % Set font to serif family
% smuggling from https://tex.stackexchange.com/a/470979/121799
newcountersmuggle
DeclareRobustCommandsmuggleone[1]%
stepcountersmuggle%
expandafterglobalexpandafterletcsname smuggle@arabicsmuggleendcsname#1%
aftergroupletaftergroup#1expandafteraftergroupcsname smuggle@arabicsmuggleendcsname

DeclareRobustCommandsmuggle[2][1]%
smuggleone#2%
ifnum#1>1
aftergroupsmuggleaftergroup[expandafteraftergroupthenumexpr#1-1aftergroup]aftergroup#2%
fi

begindocument

begintikzpicture[
% Environment Cfg
font=Large,
scale=1,
% Styles
]
tikzsetlife wheel/.cd,
radius/.initial=10,
outer image radius/.initial=0.5,
inner image radius/.initial=1,
outer image parameters/.initial=width=1.25cm,
inner image parameters/.initial=width=2.5cm,
Separator/.style=thick, color=black!50,
Border/.style=line width=1pt,color=red!60,shading=color wheel,
colors/.initial=

% lifeweel from many codes arround TEX.SE
%Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
% 5: anchor aling 6: numbers position 7:Relative position 8:ID
newcommandLifeWeel[3][]%
defimglst#2
tikzsetlife wheel/.cd,#1
edefLstColorspgfkeysvalueof/tikz/life wheel/colors
edefNumColors0
foreach X [count=Y starting from 1] in LstColors
edefNumColorsY
smuggle[2]NumColors
foreach X [count=Y starting from 0] in #2
edefNumImagesY
smuggle[2]NumImages
foreach X [count=Y] in #3
edefNumFeaturesY
smuggle[2]NumFeatures
%Drawing the border
draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
%Drawing features separations.
ifnumNumColors>1
foreach m [count=i] in 1,...,NumFeatures
pgfmathtruncatemacromyimod(i-1,NumColors)
pgfmathsetmacromycolorLstColors[myi]
draw[life wheel/Separator,top color=mycolor!75!black,
bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
-- cycle;
else
foreach m [count=i] in 0,1,...,NumFeatures
draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
fi

%Drawing the names
foreach o/p [count=j] in #3
pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
ifnummyint<0% True
path[%Reverse
decoration=
raise = -0.4ex,
text along path,
text = ,
text align = center,
reverse path
,
decorate
]
(360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
else%False
path[%Normal
decoration=
raise = -0.8ex,
text along path,
text = ,
text align = center
,
decorate
]
(360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
fi
foreach X in 1,...,NumImages
pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
pgfmathsetmacroimgnameimglst[X]
beginscope
clip (tmp:pgfkeysvalueof/tikz/life
wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
node[rotate=tmp-myint*90] at
(tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
temp;
endscope


beginscope
pgfmathsetmacroimgnameimglst[0]
clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
node at (0,0)
edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
temp;
endscope



% This function draws the lifeweel
%LifeWeelfigureslist of features in the form feature_name/quantity
LifeWeel[radius=5,outer image radius=0.4,%
colors="red","blue","magenta","purple","orange","green"
]"example-image-a","example-image-a","example-image-b","example-image-c"%
A/10,
B/10,
C/10,
D/10,
E/10,
F/10,
G/10,
H/10
endtikzpicture

enddocument


How can i clone and scale this wheel (bigger/smaller) and put copy in same page with some other image/text?
Thanks










share|improve this question




























    3















    i want continues in previous post: custom colour wheel



    This Minimal Code:



    documentclassarticle
    usepackage[a5paper,landscape,left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]geometry
    usepackagexcolor
    usepackagetikz
    usetikzlibrarydecorations.text,shadings
    renewcommand*familydefaultsfdefault % Set font to serif family
    % smuggling from https://tex.stackexchange.com/a/470979/121799
    newcountersmuggle
    DeclareRobustCommandsmuggleone[1]%
    stepcountersmuggle%
    expandafterglobalexpandafterletcsname smuggle@arabicsmuggleendcsname#1%
    aftergroupletaftergroup#1expandafteraftergroupcsname smuggle@arabicsmuggleendcsname

    DeclareRobustCommandsmuggle[2][1]%
    smuggleone#2%
    ifnum#1>1
    aftergroupsmuggleaftergroup[expandafteraftergroupthenumexpr#1-1aftergroup]aftergroup#2%
    fi

    begindocument

    begintikzpicture[
    % Environment Cfg
    font=Large,
    scale=1,
    % Styles
    ]
    tikzsetlife wheel/.cd,
    radius/.initial=10,
    outer image radius/.initial=0.5,
    inner image radius/.initial=1,
    outer image parameters/.initial=width=1.25cm,
    inner image parameters/.initial=width=2.5cm,
    Separator/.style=thick, color=black!50,
    Border/.style=line width=1pt,color=red!60,shading=color wheel,
    colors/.initial=

    % lifeweel from many codes arround TEX.SE
    %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
    % 5: anchor aling 6: numbers position 7:Relative position 8:ID
    newcommandLifeWeel[3][]%
    defimglst#2
    tikzsetlife wheel/.cd,#1
    edefLstColorspgfkeysvalueof/tikz/life wheel/colors
    edefNumColors0
    foreach X [count=Y starting from 1] in LstColors
    edefNumColorsY
    smuggle[2]NumColors
    foreach X [count=Y starting from 0] in #2
    edefNumImagesY
    smuggle[2]NumImages
    foreach X [count=Y] in #3
    edefNumFeaturesY
    smuggle[2]NumFeatures
    %Drawing the border
    draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
    %Drawing features separations.
    ifnumNumColors>1
    foreach m [count=i] in 1,...,NumFeatures
    pgfmathtruncatemacromyimod(i-1,NumColors)
    pgfmathsetmacromycolorLstColors[myi]
    draw[life wheel/Separator,top color=mycolor!75!black,
    bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
    arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
    -- cycle;
    else
    foreach m [count=i] in 0,1,...,NumFeatures
    draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
    fi

    %Drawing the names
    foreach o/p [count=j] in #3
    pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
    ifnummyint<0% True
    path[%Reverse
    decoration=
    raise = -0.4ex,
    text along path,
    text = ,
    text align = center,
    reverse path
    ,
    decorate
    ]
    (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
    else%False
    path[%Normal
    decoration=
    raise = -0.8ex,
    text along path,
    text = ,
    text align = center
    ,
    decorate
    ]
    (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
    fi
    foreach X in 1,...,NumImages
    pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
    pgfmathsetmacroimgnameimglst[X]
    beginscope
    clip (tmp:pgfkeysvalueof/tikz/life
    wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
    circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
    node[rotate=tmp-myint*90] at
    (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
    edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
    temp;
    endscope


    beginscope
    pgfmathsetmacroimgnameimglst[0]
    clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
    node at (0,0)
    edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
    temp;
    endscope



    % This function draws the lifeweel
    %LifeWeelfigureslist of features in the form feature_name/quantity
    LifeWeel[radius=5,outer image radius=0.4,%
    colors="red","blue","magenta","purple","orange","green"
    ]"example-image-a","example-image-a","example-image-b","example-image-c"%
    A/10,
    B/10,
    C/10,
    D/10,
    E/10,
    F/10,
    G/10,
    H/10
    endtikzpicture

    enddocument


    How can i clone and scale this wheel (bigger/smaller) and put copy in same page with some other image/text?
    Thanks










    share|improve this question


























      3












      3








      3








      i want continues in previous post: custom colour wheel



      This Minimal Code:



      documentclassarticle
      usepackage[a5paper,landscape,left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]geometry
      usepackagexcolor
      usepackagetikz
      usetikzlibrarydecorations.text,shadings
      renewcommand*familydefaultsfdefault % Set font to serif family
      % smuggling from https://tex.stackexchange.com/a/470979/121799
      newcountersmuggle
      DeclareRobustCommandsmuggleone[1]%
      stepcountersmuggle%
      expandafterglobalexpandafterletcsname smuggle@arabicsmuggleendcsname#1%
      aftergroupletaftergroup#1expandafteraftergroupcsname smuggle@arabicsmuggleendcsname

      DeclareRobustCommandsmuggle[2][1]%
      smuggleone#2%
      ifnum#1>1
      aftergroupsmuggleaftergroup[expandafteraftergroupthenumexpr#1-1aftergroup]aftergroup#2%
      fi

      begindocument

      begintikzpicture[
      % Environment Cfg
      font=Large,
      scale=1,
      % Styles
      ]
      tikzsetlife wheel/.cd,
      radius/.initial=10,
      outer image radius/.initial=0.5,
      inner image radius/.initial=1,
      outer image parameters/.initial=width=1.25cm,
      inner image parameters/.initial=width=2.5cm,
      Separator/.style=thick, color=black!50,
      Border/.style=line width=1pt,color=red!60,shading=color wheel,
      colors/.initial=

      % lifeweel from many codes arround TEX.SE
      %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
      % 5: anchor aling 6: numbers position 7:Relative position 8:ID
      newcommandLifeWeel[3][]%
      defimglst#2
      tikzsetlife wheel/.cd,#1
      edefLstColorspgfkeysvalueof/tikz/life wheel/colors
      edefNumColors0
      foreach X [count=Y starting from 1] in LstColors
      edefNumColorsY
      smuggle[2]NumColors
      foreach X [count=Y starting from 0] in #2
      edefNumImagesY
      smuggle[2]NumImages
      foreach X [count=Y] in #3
      edefNumFeaturesY
      smuggle[2]NumFeatures
      %Drawing the border
      draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
      %Drawing features separations.
      ifnumNumColors>1
      foreach m [count=i] in 1,...,NumFeatures
      pgfmathtruncatemacromyimod(i-1,NumColors)
      pgfmathsetmacromycolorLstColors[myi]
      draw[life wheel/Separator,top color=mycolor!75!black,
      bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
      arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
      -- cycle;
      else
      foreach m [count=i] in 0,1,...,NumFeatures
      draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
      fi

      %Drawing the names
      foreach o/p [count=j] in #3
      pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
      ifnummyint<0% True
      path[%Reverse
      decoration=
      raise = -0.4ex,
      text along path,
      text = ,
      text align = center,
      reverse path
      ,
      decorate
      ]
      (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
      else%False
      path[%Normal
      decoration=
      raise = -0.8ex,
      text along path,
      text = ,
      text align = center
      ,
      decorate
      ]
      (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
      fi
      foreach X in 1,...,NumImages
      pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
      pgfmathsetmacroimgnameimglst[X]
      beginscope
      clip (tmp:pgfkeysvalueof/tikz/life
      wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
      circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
      node[rotate=tmp-myint*90] at
      (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
      edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
      temp;
      endscope


      beginscope
      pgfmathsetmacroimgnameimglst[0]
      clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
      node at (0,0)
      edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
      temp;
      endscope



      % This function draws the lifeweel
      %LifeWeelfigureslist of features in the form feature_name/quantity
      LifeWeel[radius=5,outer image radius=0.4,%
      colors="red","blue","magenta","purple","orange","green"
      ]"example-image-a","example-image-a","example-image-b","example-image-c"%
      A/10,
      B/10,
      C/10,
      D/10,
      E/10,
      F/10,
      G/10,
      H/10
      endtikzpicture

      enddocument


      How can i clone and scale this wheel (bigger/smaller) and put copy in same page with some other image/text?
      Thanks










      share|improve this question
















      i want continues in previous post: custom colour wheel



      This Minimal Code:



      documentclassarticle
      usepackage[a5paper,landscape,left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]geometry
      usepackagexcolor
      usepackagetikz
      usetikzlibrarydecorations.text,shadings
      renewcommand*familydefaultsfdefault % Set font to serif family
      % smuggling from https://tex.stackexchange.com/a/470979/121799
      newcountersmuggle
      DeclareRobustCommandsmuggleone[1]%
      stepcountersmuggle%
      expandafterglobalexpandafterletcsname smuggle@arabicsmuggleendcsname#1%
      aftergroupletaftergroup#1expandafteraftergroupcsname smuggle@arabicsmuggleendcsname

      DeclareRobustCommandsmuggle[2][1]%
      smuggleone#2%
      ifnum#1>1
      aftergroupsmuggleaftergroup[expandafteraftergroupthenumexpr#1-1aftergroup]aftergroup#2%
      fi

      begindocument

      begintikzpicture[
      % Environment Cfg
      font=Large,
      scale=1,
      % Styles
      ]
      tikzsetlife wheel/.cd,
      radius/.initial=10,
      outer image radius/.initial=0.5,
      inner image radius/.initial=1,
      outer image parameters/.initial=width=1.25cm,
      inner image parameters/.initial=width=2.5cm,
      Separator/.style=thick, color=black!50,
      Border/.style=line width=1pt,color=red!60,shading=color wheel,
      colors/.initial=

      % lifeweel from many codes arround TEX.SE
      %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
      % 5: anchor aling 6: numbers position 7:Relative position 8:ID
      newcommandLifeWeel[3][]%
      defimglst#2
      tikzsetlife wheel/.cd,#1
      edefLstColorspgfkeysvalueof/tikz/life wheel/colors
      edefNumColors0
      foreach X [count=Y starting from 1] in LstColors
      edefNumColorsY
      smuggle[2]NumColors
      foreach X [count=Y starting from 0] in #2
      edefNumImagesY
      smuggle[2]NumImages
      foreach X [count=Y] in #3
      edefNumFeaturesY
      smuggle[2]NumFeatures
      %Drawing the border
      draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
      %Drawing features separations.
      ifnumNumColors>1
      foreach m [count=i] in 1,...,NumFeatures
      pgfmathtruncatemacromyimod(i-1,NumColors)
      pgfmathsetmacromycolorLstColors[myi]
      draw[life wheel/Separator,top color=mycolor!75!black,
      bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
      arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
      -- cycle;
      else
      foreach m [count=i] in 0,1,...,NumFeatures
      draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
      fi

      %Drawing the names
      foreach o/p [count=j] in #3
      pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
      ifnummyint<0% True
      path[%Reverse
      decoration=
      raise = -0.4ex,
      text along path,
      text = ,
      text align = center,
      reverse path
      ,
      decorate
      ]
      (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
      else%False
      path[%Normal
      decoration=
      raise = -0.8ex,
      text along path,
      text = ,
      text align = center
      ,
      decorate
      ]
      (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
      fi
      foreach X in 1,...,NumImages
      pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
      pgfmathsetmacroimgnameimglst[X]
      beginscope
      clip (tmp:pgfkeysvalueof/tikz/life
      wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
      circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
      node[rotate=tmp-myint*90] at
      (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
      edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
      temp;
      endscope


      beginscope
      pgfmathsetmacroimgnameimglst[0]
      clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
      node at (0,0)
      edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
      temp;
      endscope



      % This function draws the lifeweel
      %LifeWeelfigureslist of features in the form feature_name/quantity
      LifeWeel[radius=5,outer image radius=0.4,%
      colors="red","blue","magenta","purple","orange","green"
      ]"example-image-a","example-image-a","example-image-b","example-image-c"%
      A/10,
      B/10,
      C/10,
      D/10,
      E/10,
      F/10,
      G/10,
      H/10
      endtikzpicture

      enddocument


      How can i clone and scale this wheel (bigger/smaller) and put copy in same page with some other image/text?
      Thanks







      tikz-pgf






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited yesterday







      latexforti

















      asked yesterday









      latexfortilatexforti

      3917




      3917




















          2 Answers
          2






          active

          oldest

          votes


















          4














          When I wrote my life wheel answer, which you are using here but not linking to, I did that precisely in order to remove the vast number of arguments in favor of pgf keys. The only things that were not moved to the pgf keys were the image list and the texts. Other than that there is nothing that prevents you from using the LifeWheel command with a minimal number of arguments, you can set all the defaults in the pgf keys.



          To simplify matter even further,



          1. I moved the list of images also to the pgf keys, and

          2. made the decorations.text susceptible to the scale of the ambient tikzpicture since otherwise, as noted by Joule V, these texts do not get scaled properly.

          With these changes, drawing a simple life wheel boils down to



          tikzLifeWeelA/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10


          but I stress that before that all you needed to do is to add the list of figures, so the command was not much longer. With the above-mentioned changes, now it scales properly, i.e. you could do something like



          tikz[scale=0.5,transform shape]LifeWeelA/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10 


          Setting the defaults is (and was) as simple as saying



          tikzsetlife wheel/.cd,
          radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green",
          img list="example-image-a","example-image-a","example-image-b","example-image-c"


          Let me mention that, while there is nothing wrong with a scalebox, I am not a big fan of it, see e.g. here for more details. Of course, if you are absolutely sure you do not want to access the nodes later, you will be fine.



          documentclassarticle
          usepackage[a5paper,landscape,left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]geometry
          usepackagexcolor
          usepackagetikz
          usetikzlibrarydecorations.text,shadings
          renewcommand*familydefaultsfdefault % Set font to serif family
          % smuggling from https://tex.stackexchange.com/a/470979/121799
          newcountersmuggle
          DeclareRobustCommandsmuggleone[1]%
          stepcountersmuggle%
          expandafterglobalexpandafterletcsname smuggle@arabicsmuggleendcsname#1%
          aftergroupletaftergroup#1expandafteraftergroupcsname smuggle@arabicsmuggleendcsname

          DeclareRobustCommandsmuggle[2][1]%
          smuggleone#2%
          ifnum#1>1
          aftergroupsmuggleaftergroup[expandafteraftergroupthenumexpr#1-1aftergroup]aftergroup#2%
          fi


          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=,
          img list/.initial="example-image-a","example-image-a","example-image-b","example-image-c"

          % lifeweel from many codes arround TEX.SE
          %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
          % 5: anchor aling 6: numbers position 7:Relative position 8:ID
          newcommandLifeWeel[2][]%pgfkeys/tikz/life wheel/img list=#2%defimglst#2
          tikzsetlife wheel/.cd,#1
          pgfgettransformentriesmysfxtmptmpmysfytmptmp
          pgfmathtruncatemacromyfsxmysfx*24 % decoration text
          pgfmathtruncatemacromyfsymysfy*24 % font scaling
          edefimglstpgfkeysvalueof/tikz/life wheel/img list
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in imglst
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #2
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi
          %Drawing the names
          foreach o/p [count=j] in #2%
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope

          begindocument
          % this defines all your default parameters. Of course, you can change them at any time.
          tikzsetlife wheel/.cd,
          radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green",
          img list="example-image-a","example-image-a","example-image-b","example-image-c"

          % drawing the actual life wheel is as simple as
          begintikzpicture[font=Large,scale=1]
          LifeWeelA/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10
          endtikzpicture%
          ~begintikzpicture[font=Large,scale=0.5,transform shape]
          LifeWeelA/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10
          endtikzpicture
          enddocument


          enter image description here






          share|improve this answer


















          • 1





            thank so much. in my above post is linked to old topic that use your code. thanks

            – latexforti
            yesterday







          • 1





            @latexforti Yes, but this worked with none of the LifeWheel versions. This is because these texts are passed to decorations.text. So what you can do is to say LifeWeelsmall/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10, where the notation |small| is the one that is appropriate to decorations.text. Probably small is too small and you want to do something like LifeWeelfontsize1616selectfont/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10,.

            – marmot
            yesterday


















          6














          Like this – when I changed scale=1 to scale=0.5? (I changed to a4paper so to have more space for big figures.)



          documentclassarticle
          usepackage[a4paper,landscape,left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]geometry
          usepackagexcolor
          usepackagetikz
          usetikzlibrarydecorations.text,shadings
          renewcommand*familydefaultsfdefault % Set font to serif family
          % smuggling from https://tex.stackexchange.com/a/470979/121799
          newcountersmuggle
          DeclareRobustCommandsmuggleone[1]%
          stepcountersmuggle%
          expandafterglobalexpandafterletcsname smuggle@arabicsmuggleendcsname#1%
          aftergroupletaftergroup#1expandafteraftergroupcsname smuggle@arabicsmuggleendcsname

          DeclareRobustCommandsmuggle[2][1]%
          smuggleone#2%
          ifnum#1>1
          aftergroupsmuggleaftergroup[expandafteraftergroupthenumexpr#1-1aftergroup]aftergroup#2%
          fi

          begindocument

          begintikzpicture[
          % Environment Cfg
          font=Large,
          scale=0.5,
          % Styles
          ]
          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=

          % lifeweel from many codes arround TEX.SE
          %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
          % 5: anchor aling 6: numbers position 7:Relative position 8:ID
          newcommandLifeWeel[3][]%
          defimglst#2
          tikzsetlife wheel/.cd,#1
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in #2
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #3
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi

          %Drawing the names
          foreach o/p [count=j] in #3
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope



          % This function draws the lifeweel
          %LifeWeelfigureslist of features in the form feature_name/quantity
          LifeWeel[radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green"
          ]"example-image-a","example-image-a","example-image-b","example-image-c"%
          A/10,
          B/10,
          C/10,
          D/10,
          E/10,
          F/10,
          G/10,
          H/10
          endtikzpicture begintikzpicture[
          % Environment Cfg
          font=Large,
          scale=1,
          % Styles
          ]
          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=

          % lifeweel from many codes arround TEX.SE
          %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
          % 5: anchor aling 6: numbers position 7:Relative position 8:ID
          newcommandLifeWeel[3][]%
          defimglst#2
          tikzsetlife wheel/.cd,#1
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in #2
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #3
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi

          %Drawing the names
          foreach o/p [count=j] in #3
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope



          % This function draws the lifeweel
          %LifeWeelfigureslist of features in the form feature_name/quantity
          LifeWeel[radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green"
          ]"example-image-a","example-image-a","example-image-b","example-image-c"%
          A/10,
          B/10,
          C/10,
          D/10,
          E/10,
          F/10,
          G/10,
          H/10
          endtikzpicture

          enddocument


          enter image description here




          Hmm, the text size of the smaller figure is not good. I think scalebox is better



          documentclassarticle
          usepackage[a4paper,landscape,left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]geometry
          usepackagexcolor
          usepackagetikz
          usetikzlibrarydecorations.text,shadings
          renewcommand*familydefaultsfdefault % Set font to serif family
          % smuggling from https://tex.stackexchange.com/a/470979/121799
          newcountersmuggle
          DeclareRobustCommandsmuggleone[1]%
          stepcountersmuggle%
          expandafterglobalexpandafterletcsname smuggle@arabicsmuggleendcsname#1%
          aftergroupletaftergroup#1expandafteraftergroupcsname smuggle@arabicsmuggleendcsname

          DeclareRobustCommandsmuggle[2][1]%
          smuggleone#2%
          ifnum#1>1
          aftergroupsmuggleaftergroup[expandafteraftergroupthenumexpr#1-1aftergroup]aftergroup#2%
          fi

          begindocument

          scalebox0.5begintikzpicture[
          % Environment Cfg
          font=Large,
          scale=1,
          % Styles
          ]
          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=

          % lifeweel from many codes arround TEX.SE
          %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
          % 5: anchor aling 6: numbers position 7:Relative position 8:ID
          newcommandLifeWeel[3][]%
          defimglst#2
          tikzsetlife wheel/.cd,#1
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in #2
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #3
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi

          %Drawing the names
          foreach o/p [count=j] in #3
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope



          % This function draws the lifeweel
          %LifeWeelfigureslist of features in the form feature_name/quantity
          LifeWeel[radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green"
          ]"example-image-a","example-image-a","example-image-b","example-image-c"%
          A/10,
          B/10,
          C/10,
          D/10,
          E/10,
          F/10,
          G/10,
          H/10
          endtikzpicture begintikzpicture[
          % Environment Cfg
          font=Large,
          scale=1,
          % Styles
          ]
          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=

          % lifeweel from many codes arround TEX.SE
          %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
          % 5: anchor aling 6: numbers position 7:Relative position 8:ID
          newcommandLifeWeel[3][]%
          defimglst#2
          tikzsetlife wheel/.cd,#1
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in #2
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #3
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi

          %Drawing the names
          foreach o/p [count=j] in #3
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope



          % This function draws the lifeweel
          %LifeWeelfigureslist of features in the form feature_name/quantity
          LifeWeel[radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green"
          ]"example-image-a","example-image-a","example-image-b","example-image-c"%
          A/10,
          B/10,
          C/10,
          D/10,
          E/10,
          F/10,
          G/10,
          H/10
          endtikzpicture

          enddocument


          enter image description here




          In case you need a macro



          documentclassarticle
          usepackage[a4paper,landscape,left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]geometry
          usepackagexcolor
          usepackagetikz
          usetikzlibrarydecorations.text,shadings
          renewcommand*familydefaultsfdefault % Set font to serif family
          % smuggling from https://tex.stackexchange.com/a/470979/121799
          newcountersmuggle
          DeclareRobustCommandsmuggleone[1]%
          stepcountersmuggle%
          expandafterglobalexpandafterletcsname smuggle@arabicsmuggleendcsname#1%
          aftergroupletaftergroup#1expandafteraftergroupcsname smuggle@arabicsmuggleendcsname

          DeclareRobustCommandsmuggle[2][1]%
          smuggleone#2%
          ifnum#1>1
          aftergroupsmuggleaftergroup[expandafteraftergroupthenumexpr#1-1aftergroup]aftergroup#2%
          fi


          newcommandLifeWeel[3][]%
          defimglst#2
          tikzsetlife wheel/.cd,#1
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors %
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in #2 %
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #3 %
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi

          %Drawing the names
          foreach o/p [count=j] in #3
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope


          %%%%%%%%%%%%%%%%
          newcommandyourcmd[4]%
          scalebox#1begintikzpicture[
          % Environment Cfg
          font=Large,
          scale=1,
          % Styles
          ]
          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=

          LifeWeel[#2]#3#4
          endtikzpicture

          begindocument

          yourcmd
          0.5
          radius=5,outer image radius=0.4,colors="red","blue","magenta","purple","orange","green"
          "example-image-a","example-image-a","example-image-b","example-image-c"
          A/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10

          yourcmd
          1
          radius=5,outer image radius=0.4,colors="red","blue","magenta","purple","orange","green"
          "example-image-a","example-image-a","example-image-b","example-image-c"
          A/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10

          enddocument


          enter image description here






          share|improve this answer

























          • thank so much. Can you edit and definition this wheel before begindocument and in body you can call this definition and scale...if i copy and create 10 wheels in body so the code is very long,thanks

            – latexforti
            yesterday







          • 1





            @latexforti See my edited answer.

            – JouleV
            yesterday






          • 3





            The purpose of all that tikzset stuff is precisely that you do not have to carry it around. You could (at least) simplify your command to newcommandyourcmd[4]% scalebox#1begintikzpicture[font=Large,scale=1] LifeWeel[#2]#3#4endtikzpicture and say tikzsetlife wheel/.cd, ... only once.

            – marmot
            yesterday










          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "85"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f481071%2fcopy-and-scale-one-figure-wheel%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          2 Answers
          2






          active

          oldest

          votes








          2 Answers
          2






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          4














          When I wrote my life wheel answer, which you are using here but not linking to, I did that precisely in order to remove the vast number of arguments in favor of pgf keys. The only things that were not moved to the pgf keys were the image list and the texts. Other than that there is nothing that prevents you from using the LifeWheel command with a minimal number of arguments, you can set all the defaults in the pgf keys.



          To simplify matter even further,



          1. I moved the list of images also to the pgf keys, and

          2. made the decorations.text susceptible to the scale of the ambient tikzpicture since otherwise, as noted by Joule V, these texts do not get scaled properly.

          With these changes, drawing a simple life wheel boils down to



          tikzLifeWeelA/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10


          but I stress that before that all you needed to do is to add the list of figures, so the command was not much longer. With the above-mentioned changes, now it scales properly, i.e. you could do something like



          tikz[scale=0.5,transform shape]LifeWeelA/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10 


          Setting the defaults is (and was) as simple as saying



          tikzsetlife wheel/.cd,
          radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green",
          img list="example-image-a","example-image-a","example-image-b","example-image-c"


          Let me mention that, while there is nothing wrong with a scalebox, I am not a big fan of it, see e.g. here for more details. Of course, if you are absolutely sure you do not want to access the nodes later, you will be fine.



          documentclassarticle
          usepackage[a5paper,landscape,left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]geometry
          usepackagexcolor
          usepackagetikz
          usetikzlibrarydecorations.text,shadings
          renewcommand*familydefaultsfdefault % Set font to serif family
          % smuggling from https://tex.stackexchange.com/a/470979/121799
          newcountersmuggle
          DeclareRobustCommandsmuggleone[1]%
          stepcountersmuggle%
          expandafterglobalexpandafterletcsname smuggle@arabicsmuggleendcsname#1%
          aftergroupletaftergroup#1expandafteraftergroupcsname smuggle@arabicsmuggleendcsname

          DeclareRobustCommandsmuggle[2][1]%
          smuggleone#2%
          ifnum#1>1
          aftergroupsmuggleaftergroup[expandafteraftergroupthenumexpr#1-1aftergroup]aftergroup#2%
          fi


          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=,
          img list/.initial="example-image-a","example-image-a","example-image-b","example-image-c"

          % lifeweel from many codes arround TEX.SE
          %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
          % 5: anchor aling 6: numbers position 7:Relative position 8:ID
          newcommandLifeWeel[2][]%pgfkeys/tikz/life wheel/img list=#2%defimglst#2
          tikzsetlife wheel/.cd,#1
          pgfgettransformentriesmysfxtmptmpmysfytmptmp
          pgfmathtruncatemacromyfsxmysfx*24 % decoration text
          pgfmathtruncatemacromyfsymysfy*24 % font scaling
          edefimglstpgfkeysvalueof/tikz/life wheel/img list
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in imglst
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #2
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi
          %Drawing the names
          foreach o/p [count=j] in #2%
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope

          begindocument
          % this defines all your default parameters. Of course, you can change them at any time.
          tikzsetlife wheel/.cd,
          radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green",
          img list="example-image-a","example-image-a","example-image-b","example-image-c"

          % drawing the actual life wheel is as simple as
          begintikzpicture[font=Large,scale=1]
          LifeWeelA/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10
          endtikzpicture%
          ~begintikzpicture[font=Large,scale=0.5,transform shape]
          LifeWeelA/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10
          endtikzpicture
          enddocument


          enter image description here






          share|improve this answer


















          • 1





            thank so much. in my above post is linked to old topic that use your code. thanks

            – latexforti
            yesterday







          • 1





            @latexforti Yes, but this worked with none of the LifeWheel versions. This is because these texts are passed to decorations.text. So what you can do is to say LifeWeelsmall/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10, where the notation |small| is the one that is appropriate to decorations.text. Probably small is too small and you want to do something like LifeWeelfontsize1616selectfont/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10,.

            – marmot
            yesterday















          4














          When I wrote my life wheel answer, which you are using here but not linking to, I did that precisely in order to remove the vast number of arguments in favor of pgf keys. The only things that were not moved to the pgf keys were the image list and the texts. Other than that there is nothing that prevents you from using the LifeWheel command with a minimal number of arguments, you can set all the defaults in the pgf keys.



          To simplify matter even further,



          1. I moved the list of images also to the pgf keys, and

          2. made the decorations.text susceptible to the scale of the ambient tikzpicture since otherwise, as noted by Joule V, these texts do not get scaled properly.

          With these changes, drawing a simple life wheel boils down to



          tikzLifeWeelA/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10


          but I stress that before that all you needed to do is to add the list of figures, so the command was not much longer. With the above-mentioned changes, now it scales properly, i.e. you could do something like



          tikz[scale=0.5,transform shape]LifeWeelA/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10 


          Setting the defaults is (and was) as simple as saying



          tikzsetlife wheel/.cd,
          radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green",
          img list="example-image-a","example-image-a","example-image-b","example-image-c"


          Let me mention that, while there is nothing wrong with a scalebox, I am not a big fan of it, see e.g. here for more details. Of course, if you are absolutely sure you do not want to access the nodes later, you will be fine.



          documentclassarticle
          usepackage[a5paper,landscape,left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]geometry
          usepackagexcolor
          usepackagetikz
          usetikzlibrarydecorations.text,shadings
          renewcommand*familydefaultsfdefault % Set font to serif family
          % smuggling from https://tex.stackexchange.com/a/470979/121799
          newcountersmuggle
          DeclareRobustCommandsmuggleone[1]%
          stepcountersmuggle%
          expandafterglobalexpandafterletcsname smuggle@arabicsmuggleendcsname#1%
          aftergroupletaftergroup#1expandafteraftergroupcsname smuggle@arabicsmuggleendcsname

          DeclareRobustCommandsmuggle[2][1]%
          smuggleone#2%
          ifnum#1>1
          aftergroupsmuggleaftergroup[expandafteraftergroupthenumexpr#1-1aftergroup]aftergroup#2%
          fi


          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=,
          img list/.initial="example-image-a","example-image-a","example-image-b","example-image-c"

          % lifeweel from many codes arround TEX.SE
          %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
          % 5: anchor aling 6: numbers position 7:Relative position 8:ID
          newcommandLifeWeel[2][]%pgfkeys/tikz/life wheel/img list=#2%defimglst#2
          tikzsetlife wheel/.cd,#1
          pgfgettransformentriesmysfxtmptmpmysfytmptmp
          pgfmathtruncatemacromyfsxmysfx*24 % decoration text
          pgfmathtruncatemacromyfsymysfy*24 % font scaling
          edefimglstpgfkeysvalueof/tikz/life wheel/img list
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in imglst
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #2
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi
          %Drawing the names
          foreach o/p [count=j] in #2%
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope

          begindocument
          % this defines all your default parameters. Of course, you can change them at any time.
          tikzsetlife wheel/.cd,
          radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green",
          img list="example-image-a","example-image-a","example-image-b","example-image-c"

          % drawing the actual life wheel is as simple as
          begintikzpicture[font=Large,scale=1]
          LifeWeelA/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10
          endtikzpicture%
          ~begintikzpicture[font=Large,scale=0.5,transform shape]
          LifeWeelA/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10
          endtikzpicture
          enddocument


          enter image description here






          share|improve this answer


















          • 1





            thank so much. in my above post is linked to old topic that use your code. thanks

            – latexforti
            yesterday







          • 1





            @latexforti Yes, but this worked with none of the LifeWheel versions. This is because these texts are passed to decorations.text. So what you can do is to say LifeWeelsmall/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10, where the notation |small| is the one that is appropriate to decorations.text. Probably small is too small and you want to do something like LifeWeelfontsize1616selectfont/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10,.

            – marmot
            yesterday













          4












          4








          4







          When I wrote my life wheel answer, which you are using here but not linking to, I did that precisely in order to remove the vast number of arguments in favor of pgf keys. The only things that were not moved to the pgf keys were the image list and the texts. Other than that there is nothing that prevents you from using the LifeWheel command with a minimal number of arguments, you can set all the defaults in the pgf keys.



          To simplify matter even further,



          1. I moved the list of images also to the pgf keys, and

          2. made the decorations.text susceptible to the scale of the ambient tikzpicture since otherwise, as noted by Joule V, these texts do not get scaled properly.

          With these changes, drawing a simple life wheel boils down to



          tikzLifeWeelA/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10


          but I stress that before that all you needed to do is to add the list of figures, so the command was not much longer. With the above-mentioned changes, now it scales properly, i.e. you could do something like



          tikz[scale=0.5,transform shape]LifeWeelA/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10 


          Setting the defaults is (and was) as simple as saying



          tikzsetlife wheel/.cd,
          radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green",
          img list="example-image-a","example-image-a","example-image-b","example-image-c"


          Let me mention that, while there is nothing wrong with a scalebox, I am not a big fan of it, see e.g. here for more details. Of course, if you are absolutely sure you do not want to access the nodes later, you will be fine.



          documentclassarticle
          usepackage[a5paper,landscape,left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]geometry
          usepackagexcolor
          usepackagetikz
          usetikzlibrarydecorations.text,shadings
          renewcommand*familydefaultsfdefault % Set font to serif family
          % smuggling from https://tex.stackexchange.com/a/470979/121799
          newcountersmuggle
          DeclareRobustCommandsmuggleone[1]%
          stepcountersmuggle%
          expandafterglobalexpandafterletcsname smuggle@arabicsmuggleendcsname#1%
          aftergroupletaftergroup#1expandafteraftergroupcsname smuggle@arabicsmuggleendcsname

          DeclareRobustCommandsmuggle[2][1]%
          smuggleone#2%
          ifnum#1>1
          aftergroupsmuggleaftergroup[expandafteraftergroupthenumexpr#1-1aftergroup]aftergroup#2%
          fi


          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=,
          img list/.initial="example-image-a","example-image-a","example-image-b","example-image-c"

          % lifeweel from many codes arround TEX.SE
          %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
          % 5: anchor aling 6: numbers position 7:Relative position 8:ID
          newcommandLifeWeel[2][]%pgfkeys/tikz/life wheel/img list=#2%defimglst#2
          tikzsetlife wheel/.cd,#1
          pgfgettransformentriesmysfxtmptmpmysfytmptmp
          pgfmathtruncatemacromyfsxmysfx*24 % decoration text
          pgfmathtruncatemacromyfsymysfy*24 % font scaling
          edefimglstpgfkeysvalueof/tikz/life wheel/img list
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in imglst
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #2
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi
          %Drawing the names
          foreach o/p [count=j] in #2%
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope

          begindocument
          % this defines all your default parameters. Of course, you can change them at any time.
          tikzsetlife wheel/.cd,
          radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green",
          img list="example-image-a","example-image-a","example-image-b","example-image-c"

          % drawing the actual life wheel is as simple as
          begintikzpicture[font=Large,scale=1]
          LifeWeelA/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10
          endtikzpicture%
          ~begintikzpicture[font=Large,scale=0.5,transform shape]
          LifeWeelA/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10
          endtikzpicture
          enddocument


          enter image description here






          share|improve this answer













          When I wrote my life wheel answer, which you are using here but not linking to, I did that precisely in order to remove the vast number of arguments in favor of pgf keys. The only things that were not moved to the pgf keys were the image list and the texts. Other than that there is nothing that prevents you from using the LifeWheel command with a minimal number of arguments, you can set all the defaults in the pgf keys.



          To simplify matter even further,



          1. I moved the list of images also to the pgf keys, and

          2. made the decorations.text susceptible to the scale of the ambient tikzpicture since otherwise, as noted by Joule V, these texts do not get scaled properly.

          With these changes, drawing a simple life wheel boils down to



          tikzLifeWeelA/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10


          but I stress that before that all you needed to do is to add the list of figures, so the command was not much longer. With the above-mentioned changes, now it scales properly, i.e. you could do something like



          tikz[scale=0.5,transform shape]LifeWeelA/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10 


          Setting the defaults is (and was) as simple as saying



          tikzsetlife wheel/.cd,
          radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green",
          img list="example-image-a","example-image-a","example-image-b","example-image-c"


          Let me mention that, while there is nothing wrong with a scalebox, I am not a big fan of it, see e.g. here for more details. Of course, if you are absolutely sure you do not want to access the nodes later, you will be fine.



          documentclassarticle
          usepackage[a5paper,landscape,left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]geometry
          usepackagexcolor
          usepackagetikz
          usetikzlibrarydecorations.text,shadings
          renewcommand*familydefaultsfdefault % Set font to serif family
          % smuggling from https://tex.stackexchange.com/a/470979/121799
          newcountersmuggle
          DeclareRobustCommandsmuggleone[1]%
          stepcountersmuggle%
          expandafterglobalexpandafterletcsname smuggle@arabicsmuggleendcsname#1%
          aftergroupletaftergroup#1expandafteraftergroupcsname smuggle@arabicsmuggleendcsname

          DeclareRobustCommandsmuggle[2][1]%
          smuggleone#2%
          ifnum#1>1
          aftergroupsmuggleaftergroup[expandafteraftergroupthenumexpr#1-1aftergroup]aftergroup#2%
          fi


          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=,
          img list/.initial="example-image-a","example-image-a","example-image-b","example-image-c"

          % lifeweel from many codes arround TEX.SE
          %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
          % 5: anchor aling 6: numbers position 7:Relative position 8:ID
          newcommandLifeWeel[2][]%pgfkeys/tikz/life wheel/img list=#2%defimglst#2
          tikzsetlife wheel/.cd,#1
          pgfgettransformentriesmysfxtmptmpmysfytmptmp
          pgfmathtruncatemacromyfsxmysfx*24 % decoration text
          pgfmathtruncatemacromyfsymysfy*24 % font scaling
          edefimglstpgfkeysvalueof/tikz/life wheel/img list
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in imglst
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #2
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi
          %Drawing the names
          foreach o/p [count=j] in #2%
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope

          begindocument
          % this defines all your default parameters. Of course, you can change them at any time.
          tikzsetlife wheel/.cd,
          radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green",
          img list="example-image-a","example-image-a","example-image-b","example-image-c"

          % drawing the actual life wheel is as simple as
          begintikzpicture[font=Large,scale=1]
          LifeWeelA/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10
          endtikzpicture%
          ~begintikzpicture[font=Large,scale=0.5,transform shape]
          LifeWeelA/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10
          endtikzpicture
          enddocument


          enter image description here







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered yesterday









          marmotmarmot

          111k5140264




          111k5140264







          • 1





            thank so much. in my above post is linked to old topic that use your code. thanks

            – latexforti
            yesterday







          • 1





            @latexforti Yes, but this worked with none of the LifeWheel versions. This is because these texts are passed to decorations.text. So what you can do is to say LifeWeelsmall/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10, where the notation |small| is the one that is appropriate to decorations.text. Probably small is too small and you want to do something like LifeWeelfontsize1616selectfont/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10,.

            – marmot
            yesterday












          • 1





            thank so much. in my above post is linked to old topic that use your code. thanks

            – latexforti
            yesterday







          • 1





            @latexforti Yes, but this worked with none of the LifeWheel versions. This is because these texts are passed to decorations.text. So what you can do is to say LifeWeelsmall/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10, where the notation |small| is the one that is appropriate to decorations.text. Probably small is too small and you want to do something like LifeWeelfontsize1616selectfont/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10,.

            – marmot
            yesterday







          1




          1





          thank so much. in my above post is linked to old topic that use your code. thanks

          – latexforti
          yesterday






          thank so much. in my above post is linked to old topic that use your code. thanks

          – latexforti
          yesterday





          1




          1





          @latexforti Yes, but this worked with none of the LifeWheel versions. This is because these texts are passed to decorations.text. So what you can do is to say LifeWeelsmall/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10, where the notation |small| is the one that is appropriate to decorations.text. Probably small is too small and you want to do something like LifeWeelfontsize1616selectfont/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10,.

          – marmot
          yesterday





          @latexforti Yes, but this worked with none of the LifeWheel versions. This is because these texts are passed to decorations.text. So what you can do is to say LifeWeelsmall/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10, where the notation |small| is the one that is appropriate to decorations.text. Probably small is too small and you want to do something like LifeWeelfontsize1616selectfont/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10,.

          – marmot
          yesterday











          6














          Like this – when I changed scale=1 to scale=0.5? (I changed to a4paper so to have more space for big figures.)



          documentclassarticle
          usepackage[a4paper,landscape,left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]geometry
          usepackagexcolor
          usepackagetikz
          usetikzlibrarydecorations.text,shadings
          renewcommand*familydefaultsfdefault % Set font to serif family
          % smuggling from https://tex.stackexchange.com/a/470979/121799
          newcountersmuggle
          DeclareRobustCommandsmuggleone[1]%
          stepcountersmuggle%
          expandafterglobalexpandafterletcsname smuggle@arabicsmuggleendcsname#1%
          aftergroupletaftergroup#1expandafteraftergroupcsname smuggle@arabicsmuggleendcsname

          DeclareRobustCommandsmuggle[2][1]%
          smuggleone#2%
          ifnum#1>1
          aftergroupsmuggleaftergroup[expandafteraftergroupthenumexpr#1-1aftergroup]aftergroup#2%
          fi

          begindocument

          begintikzpicture[
          % Environment Cfg
          font=Large,
          scale=0.5,
          % Styles
          ]
          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=

          % lifeweel from many codes arround TEX.SE
          %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
          % 5: anchor aling 6: numbers position 7:Relative position 8:ID
          newcommandLifeWeel[3][]%
          defimglst#2
          tikzsetlife wheel/.cd,#1
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in #2
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #3
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi

          %Drawing the names
          foreach o/p [count=j] in #3
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope



          % This function draws the lifeweel
          %LifeWeelfigureslist of features in the form feature_name/quantity
          LifeWeel[radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green"
          ]"example-image-a","example-image-a","example-image-b","example-image-c"%
          A/10,
          B/10,
          C/10,
          D/10,
          E/10,
          F/10,
          G/10,
          H/10
          endtikzpicture begintikzpicture[
          % Environment Cfg
          font=Large,
          scale=1,
          % Styles
          ]
          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=

          % lifeweel from many codes arround TEX.SE
          %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
          % 5: anchor aling 6: numbers position 7:Relative position 8:ID
          newcommandLifeWeel[3][]%
          defimglst#2
          tikzsetlife wheel/.cd,#1
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in #2
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #3
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi

          %Drawing the names
          foreach o/p [count=j] in #3
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope



          % This function draws the lifeweel
          %LifeWeelfigureslist of features in the form feature_name/quantity
          LifeWeel[radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green"
          ]"example-image-a","example-image-a","example-image-b","example-image-c"%
          A/10,
          B/10,
          C/10,
          D/10,
          E/10,
          F/10,
          G/10,
          H/10
          endtikzpicture

          enddocument


          enter image description here




          Hmm, the text size of the smaller figure is not good. I think scalebox is better



          documentclassarticle
          usepackage[a4paper,landscape,left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]geometry
          usepackagexcolor
          usepackagetikz
          usetikzlibrarydecorations.text,shadings
          renewcommand*familydefaultsfdefault % Set font to serif family
          % smuggling from https://tex.stackexchange.com/a/470979/121799
          newcountersmuggle
          DeclareRobustCommandsmuggleone[1]%
          stepcountersmuggle%
          expandafterglobalexpandafterletcsname smuggle@arabicsmuggleendcsname#1%
          aftergroupletaftergroup#1expandafteraftergroupcsname smuggle@arabicsmuggleendcsname

          DeclareRobustCommandsmuggle[2][1]%
          smuggleone#2%
          ifnum#1>1
          aftergroupsmuggleaftergroup[expandafteraftergroupthenumexpr#1-1aftergroup]aftergroup#2%
          fi

          begindocument

          scalebox0.5begintikzpicture[
          % Environment Cfg
          font=Large,
          scale=1,
          % Styles
          ]
          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=

          % lifeweel from many codes arround TEX.SE
          %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
          % 5: anchor aling 6: numbers position 7:Relative position 8:ID
          newcommandLifeWeel[3][]%
          defimglst#2
          tikzsetlife wheel/.cd,#1
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in #2
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #3
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi

          %Drawing the names
          foreach o/p [count=j] in #3
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope



          % This function draws the lifeweel
          %LifeWeelfigureslist of features in the form feature_name/quantity
          LifeWeel[radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green"
          ]"example-image-a","example-image-a","example-image-b","example-image-c"%
          A/10,
          B/10,
          C/10,
          D/10,
          E/10,
          F/10,
          G/10,
          H/10
          endtikzpicture begintikzpicture[
          % Environment Cfg
          font=Large,
          scale=1,
          % Styles
          ]
          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=

          % lifeweel from many codes arround TEX.SE
          %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
          % 5: anchor aling 6: numbers position 7:Relative position 8:ID
          newcommandLifeWeel[3][]%
          defimglst#2
          tikzsetlife wheel/.cd,#1
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in #2
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #3
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi

          %Drawing the names
          foreach o/p [count=j] in #3
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope



          % This function draws the lifeweel
          %LifeWeelfigureslist of features in the form feature_name/quantity
          LifeWeel[radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green"
          ]"example-image-a","example-image-a","example-image-b","example-image-c"%
          A/10,
          B/10,
          C/10,
          D/10,
          E/10,
          F/10,
          G/10,
          H/10
          endtikzpicture

          enddocument


          enter image description here




          In case you need a macro



          documentclassarticle
          usepackage[a4paper,landscape,left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]geometry
          usepackagexcolor
          usepackagetikz
          usetikzlibrarydecorations.text,shadings
          renewcommand*familydefaultsfdefault % Set font to serif family
          % smuggling from https://tex.stackexchange.com/a/470979/121799
          newcountersmuggle
          DeclareRobustCommandsmuggleone[1]%
          stepcountersmuggle%
          expandafterglobalexpandafterletcsname smuggle@arabicsmuggleendcsname#1%
          aftergroupletaftergroup#1expandafteraftergroupcsname smuggle@arabicsmuggleendcsname

          DeclareRobustCommandsmuggle[2][1]%
          smuggleone#2%
          ifnum#1>1
          aftergroupsmuggleaftergroup[expandafteraftergroupthenumexpr#1-1aftergroup]aftergroup#2%
          fi


          newcommandLifeWeel[3][]%
          defimglst#2
          tikzsetlife wheel/.cd,#1
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors %
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in #2 %
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #3 %
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi

          %Drawing the names
          foreach o/p [count=j] in #3
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope


          %%%%%%%%%%%%%%%%
          newcommandyourcmd[4]%
          scalebox#1begintikzpicture[
          % Environment Cfg
          font=Large,
          scale=1,
          % Styles
          ]
          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=

          LifeWeel[#2]#3#4
          endtikzpicture

          begindocument

          yourcmd
          0.5
          radius=5,outer image radius=0.4,colors="red","blue","magenta","purple","orange","green"
          "example-image-a","example-image-a","example-image-b","example-image-c"
          A/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10

          yourcmd
          1
          radius=5,outer image radius=0.4,colors="red","blue","magenta","purple","orange","green"
          "example-image-a","example-image-a","example-image-b","example-image-c"
          A/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10

          enddocument


          enter image description here






          share|improve this answer

























          • thank so much. Can you edit and definition this wheel before begindocument and in body you can call this definition and scale...if i copy and create 10 wheels in body so the code is very long,thanks

            – latexforti
            yesterday







          • 1





            @latexforti See my edited answer.

            – JouleV
            yesterday






          • 3





            The purpose of all that tikzset stuff is precisely that you do not have to carry it around. You could (at least) simplify your command to newcommandyourcmd[4]% scalebox#1begintikzpicture[font=Large,scale=1] LifeWeel[#2]#3#4endtikzpicture and say tikzsetlife wheel/.cd, ... only once.

            – marmot
            yesterday















          6














          Like this – when I changed scale=1 to scale=0.5? (I changed to a4paper so to have more space for big figures.)



          documentclassarticle
          usepackage[a4paper,landscape,left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]geometry
          usepackagexcolor
          usepackagetikz
          usetikzlibrarydecorations.text,shadings
          renewcommand*familydefaultsfdefault % Set font to serif family
          % smuggling from https://tex.stackexchange.com/a/470979/121799
          newcountersmuggle
          DeclareRobustCommandsmuggleone[1]%
          stepcountersmuggle%
          expandafterglobalexpandafterletcsname smuggle@arabicsmuggleendcsname#1%
          aftergroupletaftergroup#1expandafteraftergroupcsname smuggle@arabicsmuggleendcsname

          DeclareRobustCommandsmuggle[2][1]%
          smuggleone#2%
          ifnum#1>1
          aftergroupsmuggleaftergroup[expandafteraftergroupthenumexpr#1-1aftergroup]aftergroup#2%
          fi

          begindocument

          begintikzpicture[
          % Environment Cfg
          font=Large,
          scale=0.5,
          % Styles
          ]
          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=

          % lifeweel from many codes arround TEX.SE
          %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
          % 5: anchor aling 6: numbers position 7:Relative position 8:ID
          newcommandLifeWeel[3][]%
          defimglst#2
          tikzsetlife wheel/.cd,#1
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in #2
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #3
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi

          %Drawing the names
          foreach o/p [count=j] in #3
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope



          % This function draws the lifeweel
          %LifeWeelfigureslist of features in the form feature_name/quantity
          LifeWeel[radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green"
          ]"example-image-a","example-image-a","example-image-b","example-image-c"%
          A/10,
          B/10,
          C/10,
          D/10,
          E/10,
          F/10,
          G/10,
          H/10
          endtikzpicture begintikzpicture[
          % Environment Cfg
          font=Large,
          scale=1,
          % Styles
          ]
          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=

          % lifeweel from many codes arround TEX.SE
          %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
          % 5: anchor aling 6: numbers position 7:Relative position 8:ID
          newcommandLifeWeel[3][]%
          defimglst#2
          tikzsetlife wheel/.cd,#1
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in #2
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #3
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi

          %Drawing the names
          foreach o/p [count=j] in #3
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope



          % This function draws the lifeweel
          %LifeWeelfigureslist of features in the form feature_name/quantity
          LifeWeel[radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green"
          ]"example-image-a","example-image-a","example-image-b","example-image-c"%
          A/10,
          B/10,
          C/10,
          D/10,
          E/10,
          F/10,
          G/10,
          H/10
          endtikzpicture

          enddocument


          enter image description here




          Hmm, the text size of the smaller figure is not good. I think scalebox is better



          documentclassarticle
          usepackage[a4paper,landscape,left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]geometry
          usepackagexcolor
          usepackagetikz
          usetikzlibrarydecorations.text,shadings
          renewcommand*familydefaultsfdefault % Set font to serif family
          % smuggling from https://tex.stackexchange.com/a/470979/121799
          newcountersmuggle
          DeclareRobustCommandsmuggleone[1]%
          stepcountersmuggle%
          expandafterglobalexpandafterletcsname smuggle@arabicsmuggleendcsname#1%
          aftergroupletaftergroup#1expandafteraftergroupcsname smuggle@arabicsmuggleendcsname

          DeclareRobustCommandsmuggle[2][1]%
          smuggleone#2%
          ifnum#1>1
          aftergroupsmuggleaftergroup[expandafteraftergroupthenumexpr#1-1aftergroup]aftergroup#2%
          fi

          begindocument

          scalebox0.5begintikzpicture[
          % Environment Cfg
          font=Large,
          scale=1,
          % Styles
          ]
          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=

          % lifeweel from many codes arround TEX.SE
          %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
          % 5: anchor aling 6: numbers position 7:Relative position 8:ID
          newcommandLifeWeel[3][]%
          defimglst#2
          tikzsetlife wheel/.cd,#1
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in #2
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #3
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi

          %Drawing the names
          foreach o/p [count=j] in #3
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope



          % This function draws the lifeweel
          %LifeWeelfigureslist of features in the form feature_name/quantity
          LifeWeel[radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green"
          ]"example-image-a","example-image-a","example-image-b","example-image-c"%
          A/10,
          B/10,
          C/10,
          D/10,
          E/10,
          F/10,
          G/10,
          H/10
          endtikzpicture begintikzpicture[
          % Environment Cfg
          font=Large,
          scale=1,
          % Styles
          ]
          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=

          % lifeweel from many codes arround TEX.SE
          %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
          % 5: anchor aling 6: numbers position 7:Relative position 8:ID
          newcommandLifeWeel[3][]%
          defimglst#2
          tikzsetlife wheel/.cd,#1
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in #2
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #3
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi

          %Drawing the names
          foreach o/p [count=j] in #3
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope



          % This function draws the lifeweel
          %LifeWeelfigureslist of features in the form feature_name/quantity
          LifeWeel[radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green"
          ]"example-image-a","example-image-a","example-image-b","example-image-c"%
          A/10,
          B/10,
          C/10,
          D/10,
          E/10,
          F/10,
          G/10,
          H/10
          endtikzpicture

          enddocument


          enter image description here




          In case you need a macro



          documentclassarticle
          usepackage[a4paper,landscape,left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]geometry
          usepackagexcolor
          usepackagetikz
          usetikzlibrarydecorations.text,shadings
          renewcommand*familydefaultsfdefault % Set font to serif family
          % smuggling from https://tex.stackexchange.com/a/470979/121799
          newcountersmuggle
          DeclareRobustCommandsmuggleone[1]%
          stepcountersmuggle%
          expandafterglobalexpandafterletcsname smuggle@arabicsmuggleendcsname#1%
          aftergroupletaftergroup#1expandafteraftergroupcsname smuggle@arabicsmuggleendcsname

          DeclareRobustCommandsmuggle[2][1]%
          smuggleone#2%
          ifnum#1>1
          aftergroupsmuggleaftergroup[expandafteraftergroupthenumexpr#1-1aftergroup]aftergroup#2%
          fi


          newcommandLifeWeel[3][]%
          defimglst#2
          tikzsetlife wheel/.cd,#1
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors %
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in #2 %
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #3 %
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi

          %Drawing the names
          foreach o/p [count=j] in #3
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope


          %%%%%%%%%%%%%%%%
          newcommandyourcmd[4]%
          scalebox#1begintikzpicture[
          % Environment Cfg
          font=Large,
          scale=1,
          % Styles
          ]
          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=

          LifeWeel[#2]#3#4
          endtikzpicture

          begindocument

          yourcmd
          0.5
          radius=5,outer image radius=0.4,colors="red","blue","magenta","purple","orange","green"
          "example-image-a","example-image-a","example-image-b","example-image-c"
          A/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10

          yourcmd
          1
          radius=5,outer image radius=0.4,colors="red","blue","magenta","purple","orange","green"
          "example-image-a","example-image-a","example-image-b","example-image-c"
          A/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10

          enddocument


          enter image description here






          share|improve this answer

























          • thank so much. Can you edit and definition this wheel before begindocument and in body you can call this definition and scale...if i copy and create 10 wheels in body so the code is very long,thanks

            – latexforti
            yesterday







          • 1





            @latexforti See my edited answer.

            – JouleV
            yesterday






          • 3





            The purpose of all that tikzset stuff is precisely that you do not have to carry it around. You could (at least) simplify your command to newcommandyourcmd[4]% scalebox#1begintikzpicture[font=Large,scale=1] LifeWeel[#2]#3#4endtikzpicture and say tikzsetlife wheel/.cd, ... only once.

            – marmot
            yesterday













          6












          6








          6







          Like this – when I changed scale=1 to scale=0.5? (I changed to a4paper so to have more space for big figures.)



          documentclassarticle
          usepackage[a4paper,landscape,left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]geometry
          usepackagexcolor
          usepackagetikz
          usetikzlibrarydecorations.text,shadings
          renewcommand*familydefaultsfdefault % Set font to serif family
          % smuggling from https://tex.stackexchange.com/a/470979/121799
          newcountersmuggle
          DeclareRobustCommandsmuggleone[1]%
          stepcountersmuggle%
          expandafterglobalexpandafterletcsname smuggle@arabicsmuggleendcsname#1%
          aftergroupletaftergroup#1expandafteraftergroupcsname smuggle@arabicsmuggleendcsname

          DeclareRobustCommandsmuggle[2][1]%
          smuggleone#2%
          ifnum#1>1
          aftergroupsmuggleaftergroup[expandafteraftergroupthenumexpr#1-1aftergroup]aftergroup#2%
          fi

          begindocument

          begintikzpicture[
          % Environment Cfg
          font=Large,
          scale=0.5,
          % Styles
          ]
          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=

          % lifeweel from many codes arround TEX.SE
          %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
          % 5: anchor aling 6: numbers position 7:Relative position 8:ID
          newcommandLifeWeel[3][]%
          defimglst#2
          tikzsetlife wheel/.cd,#1
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in #2
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #3
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi

          %Drawing the names
          foreach o/p [count=j] in #3
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope



          % This function draws the lifeweel
          %LifeWeelfigureslist of features in the form feature_name/quantity
          LifeWeel[radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green"
          ]"example-image-a","example-image-a","example-image-b","example-image-c"%
          A/10,
          B/10,
          C/10,
          D/10,
          E/10,
          F/10,
          G/10,
          H/10
          endtikzpicture begintikzpicture[
          % Environment Cfg
          font=Large,
          scale=1,
          % Styles
          ]
          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=

          % lifeweel from many codes arround TEX.SE
          %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
          % 5: anchor aling 6: numbers position 7:Relative position 8:ID
          newcommandLifeWeel[3][]%
          defimglst#2
          tikzsetlife wheel/.cd,#1
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in #2
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #3
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi

          %Drawing the names
          foreach o/p [count=j] in #3
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope



          % This function draws the lifeweel
          %LifeWeelfigureslist of features in the form feature_name/quantity
          LifeWeel[radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green"
          ]"example-image-a","example-image-a","example-image-b","example-image-c"%
          A/10,
          B/10,
          C/10,
          D/10,
          E/10,
          F/10,
          G/10,
          H/10
          endtikzpicture

          enddocument


          enter image description here




          Hmm, the text size of the smaller figure is not good. I think scalebox is better



          documentclassarticle
          usepackage[a4paper,landscape,left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]geometry
          usepackagexcolor
          usepackagetikz
          usetikzlibrarydecorations.text,shadings
          renewcommand*familydefaultsfdefault % Set font to serif family
          % smuggling from https://tex.stackexchange.com/a/470979/121799
          newcountersmuggle
          DeclareRobustCommandsmuggleone[1]%
          stepcountersmuggle%
          expandafterglobalexpandafterletcsname smuggle@arabicsmuggleendcsname#1%
          aftergroupletaftergroup#1expandafteraftergroupcsname smuggle@arabicsmuggleendcsname

          DeclareRobustCommandsmuggle[2][1]%
          smuggleone#2%
          ifnum#1>1
          aftergroupsmuggleaftergroup[expandafteraftergroupthenumexpr#1-1aftergroup]aftergroup#2%
          fi

          begindocument

          scalebox0.5begintikzpicture[
          % Environment Cfg
          font=Large,
          scale=1,
          % Styles
          ]
          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=

          % lifeweel from many codes arround TEX.SE
          %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
          % 5: anchor aling 6: numbers position 7:Relative position 8:ID
          newcommandLifeWeel[3][]%
          defimglst#2
          tikzsetlife wheel/.cd,#1
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in #2
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #3
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi

          %Drawing the names
          foreach o/p [count=j] in #3
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope



          % This function draws the lifeweel
          %LifeWeelfigureslist of features in the form feature_name/quantity
          LifeWeel[radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green"
          ]"example-image-a","example-image-a","example-image-b","example-image-c"%
          A/10,
          B/10,
          C/10,
          D/10,
          E/10,
          F/10,
          G/10,
          H/10
          endtikzpicture begintikzpicture[
          % Environment Cfg
          font=Large,
          scale=1,
          % Styles
          ]
          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=

          % lifeweel from many codes arround TEX.SE
          %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
          % 5: anchor aling 6: numbers position 7:Relative position 8:ID
          newcommandLifeWeel[3][]%
          defimglst#2
          tikzsetlife wheel/.cd,#1
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in #2
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #3
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi

          %Drawing the names
          foreach o/p [count=j] in #3
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope



          % This function draws the lifeweel
          %LifeWeelfigureslist of features in the form feature_name/quantity
          LifeWeel[radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green"
          ]"example-image-a","example-image-a","example-image-b","example-image-c"%
          A/10,
          B/10,
          C/10,
          D/10,
          E/10,
          F/10,
          G/10,
          H/10
          endtikzpicture

          enddocument


          enter image description here




          In case you need a macro



          documentclassarticle
          usepackage[a4paper,landscape,left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]geometry
          usepackagexcolor
          usepackagetikz
          usetikzlibrarydecorations.text,shadings
          renewcommand*familydefaultsfdefault % Set font to serif family
          % smuggling from https://tex.stackexchange.com/a/470979/121799
          newcountersmuggle
          DeclareRobustCommandsmuggleone[1]%
          stepcountersmuggle%
          expandafterglobalexpandafterletcsname smuggle@arabicsmuggleendcsname#1%
          aftergroupletaftergroup#1expandafteraftergroupcsname smuggle@arabicsmuggleendcsname

          DeclareRobustCommandsmuggle[2][1]%
          smuggleone#2%
          ifnum#1>1
          aftergroupsmuggleaftergroup[expandafteraftergroupthenumexpr#1-1aftergroup]aftergroup#2%
          fi


          newcommandLifeWeel[3][]%
          defimglst#2
          tikzsetlife wheel/.cd,#1
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors %
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in #2 %
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #3 %
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi

          %Drawing the names
          foreach o/p [count=j] in #3
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope


          %%%%%%%%%%%%%%%%
          newcommandyourcmd[4]%
          scalebox#1begintikzpicture[
          % Environment Cfg
          font=Large,
          scale=1,
          % Styles
          ]
          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=

          LifeWeel[#2]#3#4
          endtikzpicture

          begindocument

          yourcmd
          0.5
          radius=5,outer image radius=0.4,colors="red","blue","magenta","purple","orange","green"
          "example-image-a","example-image-a","example-image-b","example-image-c"
          A/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10

          yourcmd
          1
          radius=5,outer image radius=0.4,colors="red","blue","magenta","purple","orange","green"
          "example-image-a","example-image-a","example-image-b","example-image-c"
          A/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10

          enddocument


          enter image description here






          share|improve this answer















          Like this – when I changed scale=1 to scale=0.5? (I changed to a4paper so to have more space for big figures.)



          documentclassarticle
          usepackage[a4paper,landscape,left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]geometry
          usepackagexcolor
          usepackagetikz
          usetikzlibrarydecorations.text,shadings
          renewcommand*familydefaultsfdefault % Set font to serif family
          % smuggling from https://tex.stackexchange.com/a/470979/121799
          newcountersmuggle
          DeclareRobustCommandsmuggleone[1]%
          stepcountersmuggle%
          expandafterglobalexpandafterletcsname smuggle@arabicsmuggleendcsname#1%
          aftergroupletaftergroup#1expandafteraftergroupcsname smuggle@arabicsmuggleendcsname

          DeclareRobustCommandsmuggle[2][1]%
          smuggleone#2%
          ifnum#1>1
          aftergroupsmuggleaftergroup[expandafteraftergroupthenumexpr#1-1aftergroup]aftergroup#2%
          fi

          begindocument

          begintikzpicture[
          % Environment Cfg
          font=Large,
          scale=0.5,
          % Styles
          ]
          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=

          % lifeweel from many codes arround TEX.SE
          %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
          % 5: anchor aling 6: numbers position 7:Relative position 8:ID
          newcommandLifeWeel[3][]%
          defimglst#2
          tikzsetlife wheel/.cd,#1
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in #2
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #3
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi

          %Drawing the names
          foreach o/p [count=j] in #3
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope



          % This function draws the lifeweel
          %LifeWeelfigureslist of features in the form feature_name/quantity
          LifeWeel[radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green"
          ]"example-image-a","example-image-a","example-image-b","example-image-c"%
          A/10,
          B/10,
          C/10,
          D/10,
          E/10,
          F/10,
          G/10,
          H/10
          endtikzpicture begintikzpicture[
          % Environment Cfg
          font=Large,
          scale=1,
          % Styles
          ]
          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=

          % lifeweel from many codes arround TEX.SE
          %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
          % 5: anchor aling 6: numbers position 7:Relative position 8:ID
          newcommandLifeWeel[3][]%
          defimglst#2
          tikzsetlife wheel/.cd,#1
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in #2
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #3
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi

          %Drawing the names
          foreach o/p [count=j] in #3
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope



          % This function draws the lifeweel
          %LifeWeelfigureslist of features in the form feature_name/quantity
          LifeWeel[radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green"
          ]"example-image-a","example-image-a","example-image-b","example-image-c"%
          A/10,
          B/10,
          C/10,
          D/10,
          E/10,
          F/10,
          G/10,
          H/10
          endtikzpicture

          enddocument


          enter image description here




          Hmm, the text size of the smaller figure is not good. I think scalebox is better



          documentclassarticle
          usepackage[a4paper,landscape,left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]geometry
          usepackagexcolor
          usepackagetikz
          usetikzlibrarydecorations.text,shadings
          renewcommand*familydefaultsfdefault % Set font to serif family
          % smuggling from https://tex.stackexchange.com/a/470979/121799
          newcountersmuggle
          DeclareRobustCommandsmuggleone[1]%
          stepcountersmuggle%
          expandafterglobalexpandafterletcsname smuggle@arabicsmuggleendcsname#1%
          aftergroupletaftergroup#1expandafteraftergroupcsname smuggle@arabicsmuggleendcsname

          DeclareRobustCommandsmuggle[2][1]%
          smuggleone#2%
          ifnum#1>1
          aftergroupsmuggleaftergroup[expandafteraftergroupthenumexpr#1-1aftergroup]aftergroup#2%
          fi

          begindocument

          scalebox0.5begintikzpicture[
          % Environment Cfg
          font=Large,
          scale=1,
          % Styles
          ]
          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=

          % lifeweel from many codes arround TEX.SE
          %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
          % 5: anchor aling 6: numbers position 7:Relative position 8:ID
          newcommandLifeWeel[3][]%
          defimglst#2
          tikzsetlife wheel/.cd,#1
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in #2
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #3
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi

          %Drawing the names
          foreach o/p [count=j] in #3
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope



          % This function draws the lifeweel
          %LifeWeelfigureslist of features in the form feature_name/quantity
          LifeWeel[radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green"
          ]"example-image-a","example-image-a","example-image-b","example-image-c"%
          A/10,
          B/10,
          C/10,
          D/10,
          E/10,
          F/10,
          G/10,
          H/10
          endtikzpicture begintikzpicture[
          % Environment Cfg
          font=Large,
          scale=1,
          % Styles
          ]
          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=

          % lifeweel from many codes arround TEX.SE
          %Variables: 1:images, 2:image 3:number of features 4: Feature_name/quantity
          % 5: anchor aling 6: numbers position 7:Relative position 8:ID
          newcommandLifeWeel[3][]%
          defimglst#2
          tikzsetlife wheel/.cd,#1
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in #2
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #3
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi

          %Drawing the names
          foreach o/p [count=j] in #3
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope



          % This function draws the lifeweel
          %LifeWeelfigureslist of features in the form feature_name/quantity
          LifeWeel[radius=5,outer image radius=0.4,%
          colors="red","blue","magenta","purple","orange","green"
          ]"example-image-a","example-image-a","example-image-b","example-image-c"%
          A/10,
          B/10,
          C/10,
          D/10,
          E/10,
          F/10,
          G/10,
          H/10
          endtikzpicture

          enddocument


          enter image description here




          In case you need a macro



          documentclassarticle
          usepackage[a4paper,landscape,left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]geometry
          usepackagexcolor
          usepackagetikz
          usetikzlibrarydecorations.text,shadings
          renewcommand*familydefaultsfdefault % Set font to serif family
          % smuggling from https://tex.stackexchange.com/a/470979/121799
          newcountersmuggle
          DeclareRobustCommandsmuggleone[1]%
          stepcountersmuggle%
          expandafterglobalexpandafterletcsname smuggle@arabicsmuggleendcsname#1%
          aftergroupletaftergroup#1expandafteraftergroupcsname smuggle@arabicsmuggleendcsname

          DeclareRobustCommandsmuggle[2][1]%
          smuggleone#2%
          ifnum#1>1
          aftergroupsmuggleaftergroup[expandafteraftergroupthenumexpr#1-1aftergroup]aftergroup#2%
          fi


          newcommandLifeWeel[3][]%
          defimglst#2
          tikzsetlife wheel/.cd,#1
          edefLstColorspgfkeysvalueof/tikz/life wheel/colors
          edefNumColors0
          foreach X [count=Y starting from 1] in LstColors %
          edefNumColorsY
          smuggle[2]NumColors
          foreach X [count=Y starting from 0] in #2 %
          edefNumImagesY
          smuggle[2]NumImages
          foreach X [count=Y] in #3 %
          edefNumFeaturesY
          smuggle[2]NumFeatures
          %Drawing the border
          draw[life wheel/Border] (0,0) circle [radius=pgfkeysvalueof/tikz/life wheel/radius];
          %Drawing features separations.
          ifnumNumColors>1
          foreach m [count=i] in 1,...,NumFeatures
          pgfmathtruncatemacromyimod(i-1,NumColors)
          pgfmathsetmacromycolorLstColors[myi]
          draw[life wheel/Separator,top color=mycolor!75!black,
          bottom color=mycolor,shading angle=-90+(360/NumFeatures)*(i-0.5)] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius)
          arc((360/NumFeatures)*i:(360/NumFeatures)*(i-1):pgfkeysvalueof/tikz/life wheel/radius)
          -- cycle;
          else
          foreach m [count=i] in 0,1,...,NumFeatures
          draw[life wheel/Separator] (0,0) -- (360/NumFeatures*i:pgfkeysvalueof/tikz/life wheel/radius);
          fi

          %Drawing the names
          foreach o/p [count=j] in #3
          pgfmathtruncatemacromyintifthenelse(sin(360/NumFeatures*j)<0,-1,1)
          ifnummyint<0% True
          path[%Reverse
          decoration=
          raise = -0.4ex,
          text along path,
          text = ,
          text align = center,
          reverse path
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.7) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.7);%path
          else%False
          path[%Normal
          decoration=
          raise = -0.8ex,
          text along path,
          text = ,
          text align = center
          ,
          decorate
          ]
          (360/NumFeatures*j:pgfkeysvalueof/tikz/life wheel/radius+0.35) arc (360/NumFeatures*j:360/NumFeatures*(j-1):pgfkeysvalueof/tikz/life wheel/radius+0.35); %Path
          fi
          foreach X in 1,...,NumImages
          pgfmathsetmacrotmp360/NumFeatures*j+((1-2*X)/(2*NumImages))*360/NumFeatures
          pgfmathsetmacroimgnameimglst[X]
          beginscope
          clip (tmp:pgfkeysvalueof/tikz/life
          wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          circle[radius=pgfkeysvalueof/tikz/life wheel/outer image radius];
          node[rotate=tmp-myint*90] at
          (tmp:pgfkeysvalueof/tikz/life wheel/radius-1.1*pgfkeysvalueof/tikz/life wheel/outer image radius)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/outer image parameters]imgname
          temp;
          endscope


          beginscope
          pgfmathsetmacroimgnameimglst[0]
          clip (0,0) circle[radius=pgfkeysvalueof/tikz/life wheel/inner image radius];
          node at (0,0)
          edeftempnoexpandincludegraphics[pgfkeysvalueof/tikz/life wheel/inner image parameters]imgname
          temp;
          endscope


          %%%%%%%%%%%%%%%%
          newcommandyourcmd[4]%
          scalebox#1begintikzpicture[
          % Environment Cfg
          font=Large,
          scale=1,
          % Styles
          ]
          tikzsetlife wheel/.cd,
          radius/.initial=10,
          outer image radius/.initial=0.5,
          inner image radius/.initial=1,
          outer image parameters/.initial=width=1.25cm,
          inner image parameters/.initial=width=2.5cm,
          Separator/.style=thick, color=black!50,
          Border/.style=line width=1pt,color=red!60,shading=color wheel,
          colors/.initial=

          LifeWeel[#2]#3#4
          endtikzpicture

          begindocument

          yourcmd
          0.5
          radius=5,outer image radius=0.4,colors="red","blue","magenta","purple","orange","green"
          "example-image-a","example-image-a","example-image-b","example-image-c"
          A/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10

          yourcmd
          1
          radius=5,outer image radius=0.4,colors="red","blue","magenta","purple","orange","green"
          "example-image-a","example-image-a","example-image-b","example-image-c"
          A/10,B/10,C/10,D/10,E/10,F/10,G/10,H/10

          enddocument


          enter image description here







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited yesterday

























          answered yesterday









          JouleVJouleV

          7,64222053




          7,64222053












          • thank so much. Can you edit and definition this wheel before begindocument and in body you can call this definition and scale...if i copy and create 10 wheels in body so the code is very long,thanks

            – latexforti
            yesterday







          • 1





            @latexforti See my edited answer.

            – JouleV
            yesterday






          • 3





            The purpose of all that tikzset stuff is precisely that you do not have to carry it around. You could (at least) simplify your command to newcommandyourcmd[4]% scalebox#1begintikzpicture[font=Large,scale=1] LifeWeel[#2]#3#4endtikzpicture and say tikzsetlife wheel/.cd, ... only once.

            – marmot
            yesterday

















          • thank so much. Can you edit and definition this wheel before begindocument and in body you can call this definition and scale...if i copy and create 10 wheels in body so the code is very long,thanks

            – latexforti
            yesterday







          • 1





            @latexforti See my edited answer.

            – JouleV
            yesterday






          • 3





            The purpose of all that tikzset stuff is precisely that you do not have to carry it around. You could (at least) simplify your command to newcommandyourcmd[4]% scalebox#1begintikzpicture[font=Large,scale=1] LifeWeel[#2]#3#4endtikzpicture and say tikzsetlife wheel/.cd, ... only once.

            – marmot
            yesterday
















          thank so much. Can you edit and definition this wheel before begindocument and in body you can call this definition and scale...if i copy and create 10 wheels in body so the code is very long,thanks

          – latexforti
          yesterday






          thank so much. Can you edit and definition this wheel before begindocument and in body you can call this definition and scale...if i copy and create 10 wheels in body so the code is very long,thanks

          – latexforti
          yesterday





          1




          1





          @latexforti See my edited answer.

          – JouleV
          yesterday





          @latexforti See my edited answer.

          – JouleV
          yesterday




          3




          3





          The purpose of all that tikzset stuff is precisely that you do not have to carry it around. You could (at least) simplify your command to newcommandyourcmd[4]% scalebox#1begintikzpicture[font=Large,scale=1] LifeWeel[#2]#3#4endtikzpicture and say tikzsetlife wheel/.cd, ... only once.

          – marmot
          yesterday





          The purpose of all that tikzset stuff is precisely that you do not have to carry it around. You could (at least) simplify your command to newcommandyourcmd[4]% scalebox#1begintikzpicture[font=Large,scale=1] LifeWeel[#2]#3#4endtikzpicture and say tikzsetlife wheel/.cd, ... only once.

          – marmot
          yesterday

















          draft saved

          draft discarded
















































          Thanks for contributing an answer to TeX - LaTeX Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f481071%2fcopy-and-scale-one-figure-wheel%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Sum ergo cogito? 1 nng

          419 nièngy_Soadمي 19bal1.5o_g

          Queiggey Chernihivv 9NnOo i Zw X QqKk LpB