在附图中,标题包括 96 年 6 月 23 日和 M、T、W、T、F、S。我需要从 2014 年 6 月 17 日至 2014 年 7 月 31 日开始该项目。如何使用 pgfgantt 执行相同操作。如能得到任何帮助,我将不胜感激。
我的代码如下:
\documentclass[tikz]{standalone}
\usepackage{pgfgantt}
\title{Gantt Charts with the pgfgantt Package}
\begin{document}
%
%
\definecolor{barblue}{RGB}{153,204,254}
\definecolor{groupblue}{RGB}{51,102,254}
\definecolor{linkred}{RGB}{165,0,33}
\renewcommand\sfdefault{phv}
\renewcommand\mddefault{mc}
\renewcommand\bfdefault{bc}
\setganttlinklabel{s-s}{START-TO-START}
\setganttlinklabel{f-s}{}%{FINISH-TO-START}
\setganttlinklabel{f-f}{FINISH-TO-FINISH}
\sffamily
\begin{ganttchart}[
canvas/.append style={fill=none, draw=black!5, line width=.75pt},
hgrid style/.style={draw=black!5, line width=.75pt},
vgrid={*1{draw=black!5, line width=.75pt}},
today=32,
today rule/.style={
draw=black!34,
dash pattern=on 3.5pt off 4.5pt,
line width=1.5pt
},
today label font=\small\bfseries,
title/.style={draw=none, fill=none},
title label font=\bfseries\footnotesize,
title label node/.append style={below=7pt},
include title in canvas=false,
bar label font=\mdseries\small\color{black!70},
bar label node/.append style={left=2cm},
bar/.append style={draw=none, fill=black!63},
bar incomplete/.append style={fill=barblue},
bar progress label font=\mdseries\footnotesize\color{black!70},
group incomplete/.append style={fill=groupblue},
group left shift=0,
group right shift=0,
group height=.5,
group peaks tip position=0,
group label node/.append style={left=.6cm},
group progress label font=\bfseries\small,
link/.style={-latex, line width=1.5pt, linkred},
link label font=\scriptsize\bfseries,
link label node/.append style={below left=-2pt and 0pt}
]{1}{39}
\gantttitle[
title label node/.append style={below left=7pt and -3pt}
]{DAYS:\quad1}{1}
\gantttitlelist{2,...,39}{1} \\
\ganttgroup[progress=100]{Analysis}{1}{30} \\
\ganttbar[
progress=100,
name=WBS1A
]{\textbf{Risk Analysis}}{1}{8} \\
\ganttbar[
progress=100,
name=WBS1B
]{\textbf{System Requirement Specification}}{9}{10} \\
\ganttbar[
progress=100,
name=WBS1C
]{\textbf{Functional Specification}}{11}{25} \\
\ganttbar[
progress=100,
name=WBS1D
]{\textbf{Project Plan}}{26}{29} \\
\ganttbar[
progress=100,
name=WBS1E
]{\textbf{Project Schedule}}{30}{30} \\
\ganttgroup[progress=70]{Design}{31}{32} \\
\ganttbar[progress=70]{\textbf{High Level Design}}{31}{32} \\
\ganttgroup[progress=0]{Coding}{33}{39} \\
\ganttbar[progress=0]{\textbf{Building Prototype}}{33}{39} \\
\ganttlink[link type=f-s]{WBS1A}{WBS1B}
\ganttlink[link type=f-s]{WBS1B}{WBS1C}
\ganttlink[
link type=f-s,
link label node/.append style=left
]{WBS1C}{WBS1D}
\ganttlink[
link type=f-s,
link label node/.append style=left
]{WBS1D}{WBS1E}
\end{ganttchart}
\end{document}
答案1
这似乎工作正常(欢迎提出建议):
\documentclass[tikz]{standalone}
\usepackage{pgfgantt}
\title{Gantt Charts with the pgfgantt Package}
\begin{document}
%
%
\definecolor{barblue}{RGB}{153,204,254}
\definecolor{groupblue}{RGB}{51,102,254}
\definecolor{linkred}{RGB}{150,150,150}
\renewcommand\sfdefault{phv}
\renewcommand\mddefault{mc}
\renewcommand\bfdefault{bc}
\sffamily
\ganttset
{%
calendar week text={%
\pgfcalendarmonthshortname{\startmonth}~\startday,\startyear%
}%
}
\begin{ganttchart}[
canvas/.append style={fill=none, draw=black!5, line width=.75pt},
hgrid style/.style={draw=black!6, line width=.75pt},
vgrid={*1{draw=black!6, line width=.75pt}},
today=2014-07-23,
today rule/.style={
draw=black!34,
dash pattern=on 3.5pt off 4.5pt,
line width=1.5pt
},
today label font=\small\bfseries,
title/.style={draw=none, fill=none},
title label font=\bfseries\footnotesize,
title label node/.append style={below=7pt},
include title in canvas=false,
bar label font=\mdseries\small\color{black!70},
bar label node/.append style={left=2cm},
bar/.append style={draw=none, fill=black!63},
bar incomplete/.append style={fill=barblue},
bar progress label font=\mdseries\footnotesize\color{black!70},
group incomplete/.append style={fill=groupblue},
group left shift=0,
group right shift=0,
group height=.5,
group peaks tip position=0,
group label node/.append style={left=.6cm},
group progress label font=\bfseries\small,
link/.style={-latex, linkred},
link label font=\scriptsize\bfseries,
%link label node/.append style={below left=-2pt and 0pt}
time slot format=isodate
]{2014-06-17}{2014-07-31}
% top nodes
\ganttbar[name=holiday-2014-06-22-top,bar/.style={fill=none, draw=none}]{}{2014-06-22}{2014-06-22}
\ganttbar[name=holiday-2014-06-29-top,bar/.style={fill=none, draw=none}]{}{2014-06-29}{2014-06-29}
\ganttbar[name=holiday-2014-07-6-top,bar/.style={fill=none, draw=none}]{}{2014-07-6}{2014-07-6}
\ganttbar[name=holiday-2014-07-12-top,bar/.style={fill=none, draw=none}]{}{2014-07-12}{2014-07-12}
\ganttbar[name=holiday-2014-07-13-top,bar/.style={fill=none, draw=none}]{}{2014-07-13}{2014-07-13}
\ganttbar[name=holiday-2014-07-20-top,bar/.style={fill=none, draw=none}]{}{2014-07-20}{2014-07-20}
\ganttbar[name=holiday-2014-07-27-top,bar/.style={fill=none, draw=none}]{}{2014-07-27}{2014-07-27}
\gantttitlecalendar{week, day} \\
\ganttgroup[progress=100]{Analysis}{2014-06-17}{2014-07-22} \\
\ganttbar[
progress=100,
name=WBS1A
]{\textbf{Risk Analysis}}{2014-06-17}{2014-06-25} \\
\ganttbar[
progress=100,
name=WBS1B
]{\textbf{System Requirement Specification}}{2014-06-26}{2014-06-27} \\
\ganttbar[
progress=100,
name=WBS1C
]{\textbf{Functional Specification}}{2014-06-28}{2014-07-16} \\
\ganttbar[
progress=100,
name=WBS1D
]{\textbf{Project Plan}}{2014-07-17}{2014-07-21} \\
\ganttbar[
progress=100,
name=WBS1E
]{\textbf{Project Schedule}}{2014-07-22}{2014-07-22} \\
\ganttmilestone[name=M1]{Analysis Completion}{2014-07-21} \ganttnewline [grid]
\ganttgroup[progress=100]{Design}{2014-07-23}{2014-07-23} \\
\ganttbar[progress=100,name=WBS2A]{\textbf{High Level Design}}{2014-07-23}{2014-07-23} \\
\ganttmilestone[name=M2]{Design Completion}{2014-07-22} \ganttnewline [grid]
\ganttgroup[progress=0]{Coding}{2014-07-24}{2014-07-31} \\
%\ganttbar[prog=50: Resource 1]{Task 1}{2014-07-24}{2} \\
\ganttbar[progress=0,name=WBS3A]{\textbf{Building Prototype}}{2014-07-24}{2014-07-31} \\
\ganttmilestone[name=M3]{Code Completion}{2014-07-30} \ganttnewline [grid]
\ganttlink[]{WBS1A}{WBS1B}
\ganttlink[]{WBS1B}{WBS1C}
\ganttlink[]{WBS1C}{WBS1D}
\ganttlink[]{WBS1D}{WBS1E}
\ganttlink[]{WBS1E}{M1}
\ganttlink[]{M1}{WBS2A}
\ganttlink[]{WBS2A}{M2}
\ganttlink[]{M2}{WBS3A}
\ganttlink[]{WBS3A}{M3}
% bottom nodes
\ganttbar[name=holiday-2014-06-22-bottom,bar/.style={fill=none, draw=none}]{}{2014-06-22}{2014-06-22}
\ganttbar[name=holiday-2014-06-29-bottom,bar/.style={fill=none, draw=none}]{}{2014-06-29}{2014-06-29}
\ganttbar[name=holiday-2014-07-6-bottom,bar/.style={fill=none, draw=none}]{}{2014-07-6}{2014-07-6}
\ganttbar[name=holiday-2014-07-12-bottom,bar/.style={fill=none, draw=none}]{}{2014-07-12}{2014-07-12}
\ganttbar[name=holiday-2014-07-13-bottom,bar/.style={fill=none, draw=none}]{}{2014-07-13}{2014-07-13}
\ganttbar[name=holiday-2014-07-20-bottom,bar/.style={fill=none, draw=none}]{}{2014-07-20}{2014-07-20}
\ganttbar[name=holiday-2014-07-27-bottom,bar/.style={fill=none, draw=none}]{}{2014-07-27}{2014-07-27}
% shading
\begin{scope}
\draw [opacity=0.05,line width=12,color=brown] (holiday-2014-06-22-top) -- (holiday-2014-06-22-bottom);
\draw [opacity=0.05,line width=12,color=brown] (holiday-2014-06-29-top) -- (holiday-2014-06-29-bottom);
\draw [opacity=0.05,line width=12,color=brown] (holiday-2014-07-6-top) -- (holiday-2014-07-6-bottom);
\draw [opacity=0.05,line width=12,color=brown] (holiday-2014-07-12-top) -- (holiday-2014-07-12-bottom);
\draw [opacity=0.05,line width=12,color=brown] (holiday-2014-07-13-top) -- (holiday-2014-07-13-bottom);
\draw [opacity=0.05,line width=12,color=brown] (holiday-2014-07-20-top) -- (holiday-2014-07-20-bottom);
\draw [opacity=0.05,line width=12,color=brown] (holiday-2014-07-27-top) -- (holiday-2014-07-27-bottom);
\end{scope}
\end{ganttchart}
\end{document}