Is it possible to scale an entire \begin{figure}?
You are looking for the macros
\resizebox{<h-length>}{<v-length>}{<content>}
and\scalebox{<h-scale>}[<v-scale>]{<content>}
from the
graphics
/graphicx
packages (→ graphics
manual, 3.3 “Scaling”, p. 3).
The \scalebox
macro expects ratios like those you’d use in \includegraphics
, you you would be using
\begin{figure}
\scalebox{.5}{\input{plot.tex}}
\end{figure}
or, if you rather want to resize the content to a fixed width (or height),
\begin{figure}
\resizebox{.9\linewidth}{!}{\input{plot.tex}}
\end{figure}
where !
means that the content gets resized so that it keeps its aspect ratio.
There exist also a starred version of \resizebox
and you can use the lengths \height
, \width
, \totalheight
and \depth
to refer to the original sizes of the content; meaning the factor .5
could be used with \resizebox
, too:
\begin{figure}
\resizebox{.5\totalheight}{!}{\input{plot.tex}}
\end{figure}
If you're using subfigures that are scaled and want non-subfigure plots to match the others' layout, you can use the subfigure code as well with just one plot:
\begin{figure}[t]
\centering
\begin{subfigure}[b]{0.95\textwidth}
\include{plot.tex}
\end{subfigure}
\caption{
My caption...
}
\label{fig:myPlot}
\end{figure}
(In my case, using the other suggested answer left some components of the plot not matching -- maybe axis labels or legend, I forget -- thus my hacky approach.)