Displaying circles in sequence from the same central point

A less rude solution with the beamer-overlay-styles library.

\documentclass{beamer}
\beamertemplatenavigationsymbolsempty
\usepackage{tikz}
\usetikzlibrary{overlay-beamer-styles} %<-added
\usepackage{pgfplots}
\usepackage{tkz-fct}
\usetikzlibrary{fadings}
\begin{document}
\begin{frame}[fragile,t]
\frametitle{Circles with the \texttt{overlay-beamer-styles} library}
\begin {center}
\begin{tikzpicture}[scale=.9, transform shape]
\node[visible on=<{1,5}>,circle, outer color=yellow!60!green, inner color=white, minimum width=5cm] (radial) at (4,0) {};
\fill[visible on=<{1,5}>,pattern=dots,pattern color = black] (3.6,-.4) -- + +(.8,0) -- ++ (0,.8) -- ++(-.8,0) -- cycle;
\node[visible on=<{4-5}>,circle, outer color=green!80!purple, inner color=purple, minimum width=4cm] (radial) at (4,0) {};
\node[visible on=<{3-5}>,circle, outer color=purple, inner color=purple!20!red, minimum width=3cm] (radial) at (4,0) {};
\node[visible on=<{2-5}>,circle, outer color=purple, inner color=purple!50!black, minimum width=2cm] (radial) at (4,0) {};
\end{tikzpicture}
\end {center}
\end{frame}
\end{document}

enter image description here


a rude solution is add to each slide invisible circle with minimum size of the greatest one:

\documentclass{beamer}
\beamertemplatenavigationsymbolsempty
\usepackage{tikz}
\usetikzlibrary{fadings, patterns}

\begin{document}
\begin{frame}[fragile,t]
\frametitle{Circles \dots}
\begin {center}
\begin{tikzpicture}[scale=.9,
circ/.style args = {#1/#2/#3}{circle,outer color=#1, inner color=#2, minimum width=#3,
                              node contents={}},
                    ]
  \only<1,5>
{
\node[circ=yellow!60!green/white/5cm];
\fill[pattern=dots,pattern color = black] (-0.4,-0.4) rectangle + (0.8,0.8);
}
  \only<4-5>
{
\node[circle, minimum size=5cm] {};
\node[circ=green!80!purple/purple/4cm];
}
  \only<3-5>
{
\node[circle, minimum size=5cm] {};
\node[circ=purple/purple!20!red/3cm];
}
  \only<2-5>
{
\node[circle, minimum size=5cm] {};
\node[circ=purple/purple!50!black/2cm];
}
\end{tikzpicture}
\end {center}
\end{frame}
\end{document}

enter image description here enter image description here

note:

  • coordinates in tikzpicure are relative to picture, not to slide. therefore in your case at (4,0) gives the same result as at (0,0) or if you omit explicit notation of coordinates.
  • for determining coordinate on absolute position on slide, you need to use remember picture, overlay:

    \documentclass{beamer}
    \beamertemplatenavigationsymbolsempty
    \usepackage{tikz}
    \usetikzlibrary{calc, fadings, patterns,
                    overlay-beamer-styles}
    
    \begin{document}
    \begin{frame}[fragile,t]
    \frametitle{Circles \dots}
    \begin{tikzpicture}[remember picture,overlay,
    circ/.style args = {#1/#2/#3}{circle,outer color=#1, inner color=#2, minimum width=#3},
                        ]
      \only<1,5>
    {
    \node[circ=yellow!60!green/white/5cm] (center) at (current page.center) {};
    \fill[pattern=dots,pattern color = black]
        ($(current page.center)+(-0.4,-0.4)$) rectangle + (0.8,0.8);
    }
      \only<4-5>
    {
    \node[circ=green!80!purple/purple/4cm] at (center) {};
    }
      \only<3-5>
    {
    \node[circ=purple/purple!20!red/3cm] at (center) {};;
    }
      \only<2-5>
    {
    \node[circ=purple/purple!50!black/2cm] at (center) {};;
    }
    \end{tikzpicture}
    \end{frame}
    \end{document}
    

enter image description here enter image description here

Tags:

Tikz Pgf