如何缩放甘特图?

如何缩放甘特图?

草图:

我试图扩展甘特图以适应 Beamer 演示。

假设我有一些比演示矩形更大的甘特图:

 \begin{figure}
   \begin{gantt}{20}{20}
     \begin{ganttitle}
       \numtitle{2012}{1}{2016}{4}
     \end{ganttitle}

     %% lots of activities
     \ganttbar{1}{0}{3}
     ...
     ...
     \ganttbar{1}{0}{19}
     %% lots of activities
   \end{gantt}
 \end{figure}

问题: 我怎样才能缩放该图形以使其适合投影仪框架?

例子: 如果我使用一些 PNG 图像,我肯定会这样做:

\begin{figure}
  \includegraphic[scale=0.5]{mypngpic.png}
\end{figure}

但在甘特图中没有(至少我还不知道)一种扩展的方法。

答案1

由于gantt基于 TikZ,因此强制外部缩放也是可行的。我没有仔细检查代码,但也许有可能直接向环境提供选项gantt。它有自己的密钥系统,但它无法识别缩放选项。

\documentclass{article}
\usepackage{gantt}
\begin{document}
\tikzset{every picture/.style={yscale=0.3,transform shape}}
   \begin{gantt}{5}{12}
     \begin{ganttitle}
       \numtitle{2012}{1}{2014}{4}
     \end{ganttitle}
     %% lots of activities
     \ganttbar{1}{0}{3}
     \ganttbar{1}{0}{10}
     %% lots of activities
   \end{gantt}

\tikzset{every picture/.style={yscale=1,transform shape}}
   \begin{gantt}{5}{12}
     \begin{ganttitle}
       \numtitle{2012}{1}{2014}{4}
     \end{ganttitle}
     %% lots of activities
     \ganttbar{1}{0}{3}
     \ganttbar{1}{0}{10}
     %% lots of activities
   \end{gantt}

\end{document}

在此处输入图片描述 另请注意,还有另一个基于 TikZ 的包pgfgantt

答案2

将内容放在\begin{gantt}{20}{20}......\end{gantt}一个文件中,例如myganttfig1.tex。然后在主 tex 文件中使用\resizebox如下命令:

%=========================
\begin{figure}[htb]
\centering{
\resizebox{0.62\textwidth}{!}{\input{myganttfig1.tex}}}
\caption{your caption \label{fig:mygantt1}
\end{figure}
%===========================

您可以根据需要更改宽度0.62\textwidth和高度。该参数确保在保持纵横比不变的情况下确定高度。!{!}

正如 Gonzalo 在他的评论中所指出的,在这种特殊情况下,同时使用高度和宽度会更合适。

相关内容