I am having trouble with using columns in Beamer class. For some reason, I have to display a plot in the left column, then replacing it with another plot to display additional data on it (I can not overlay within the plot itself since pgfplots does not support overlaying single coordinates, whatever…).
For this I have to use the \only<>
command to display a picture, then another. My current issue is that I am not able to keep alignment of right column (which contains always the same elements) between different slides even within an overprint environment.
Here is a MWE
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[frenchb]{babel}
\usepackage{tikz}
\usetheme{Frankfurt}
\begin{document}
\begin{frame}\frametitle{test}
\begin{columns}[onlywidth,T]
\begin{column}{.7\textwidth}
\begin{overprint}
\centering
column 1\\
\only<2>{\tikz \draw (0,0) circle (.5cm);}
\only<3->{\tikz \draw[blue] (0,0) circle (2cm);}
\end{overprint}
\end{column}
\begin{column}{.3\textwidth}
\begin{overprint}
\centering
column 2\\
{\tikz \draw (0,0) circle (1cm);}
\end{overprint}
\end{column}
\end{columns}
\end{frame}
\end{document}
This MWE shows that column 2 has a little vertical shifts between slides 2 and 3. I don't get it : since I am in an overprint environment, column alignments should be done with the highest object enclosed, i.e. the blue circle, but it does not work.
I tried do change column alignment argument (t
, T
, c
, etc.) and tried "overlayarea" but it didn't work either.
I hope you can help me.
Best Answer
For this kind of problems it is always better to rely to Daniel's method shown in Mindmap tikzpicture in beamer (reveal step by step). It helps to avoid the so called jumping effect and it is very easy to be used: you just have to specify as option when a path should be visible; in code:
visible on=<...>
.The MWE revised:
The result:
Solving the right problem after the comment..
The approach is identical as did before: the visibility condition should be applied now to the
\addplot
.The code:
The result: