pgfgantt 中的垂直线

pgfgantt 中的垂直线

我正在使用该包pgfgantt创建甘特图。我发现使用“今日”键可以在图表中绘制垂直线。但是,只允许使用一个今日键。我怎样才能有多条垂直线?我想绘制几年的甘特图,我使用垂直网格为每个月画虚线,但我希望用一条垂直实线来分割每一年。

答案1

这是我所使用的方法,但我并不完全满意,因为使用这种解决方案,我几个月甚至几周都无法上网。

\begin{ganttchart}[
today=5,
today rule/.style= {blue, ultra thick},
vgrid={*{37}{dotted},*{1}{green,ultra thick},*{52}{dotted}}
]{ 49 }
\gantttitle{ 2013 }{ 38 }\gantttitle{ 2014 }{ 11 } \\
\gantttitlelist{  15 ,..., 52 }{1}\gantttitlelist{  1 ,..., 11 }{1}\\
\ganttmilestone { Commencement date }{ 0 }{ 1 } \\
\ganttgroup { Design }{ 2 }{ 4 } \\
\ganttbar { Supply 1 }{ 5 }{ 23 } \\
\ganttbar { Work 2  }{ 24 }{ 49 } \\
\ganttmilestone { Taking over }{ 49 }{ 49 }
\end{ganttchart}}

在此处输入图片描述

答案2

5.0 版pgfgantt(2018 年 1 月 11 日发布)现在具有\ganttvline用于绘制垂直线的宏。语法是

\ganttvrule[<options>]{<label>}{>tss>}

手册中的一个例子:

代码输出

\documentclass[border=5mm]{standalone}
\usepackage{pgfgantt}
\begin{document}
\begin{ganttchart}[
  vgrid,
  hgrid,
  vrule/.style={very thick, blue},
  vrule label font=\bfseries
]{1}{8}
\gantttitle{2018}{8} \\
\ganttbar{}{1}{2} \\
\ganttbar{}{4}{8}

\ganttvrule{day x}{2}

\ganttvrule[
  vrule/.append style={red, thin},
  vrule offset=.2,
  vrule label node/.append style={anchor=north west}
  ]{day z}{6}
\end{ganttchart}

\end{document}

相关内容