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}
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}
note:
- coordinates in
tikzpicure
are relative to picture, not to slide. therefore in your caseat (4,0)
gives the same result asat (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}