我正在尝试找到一种方法来使用 tikz (实际使用pgfgantt
) 获取以下内容:
我目前拥有的代码是:
\documentclass[tikz]{standalone}
\usepackage{pgfgantt}
\begin{document}
\begin{ganttchart}[ hgrid, group progress label node/.append style={below=3pt} ]{1}{12}
\ganttbar[]{Devices On}{3}{11} \\
\ganttbar[]{Lights On}{1}{12}\\
\gantttitle{Daily Working Time}{12}
\end{ganttchart}
\end{document}
我所得到的是:
如何获得近似准确的结果?
答案1
bar
一个建议。可以通过修改 的可选参数中的样式来更改条形的颜色\ganttbar
。对于每日工作时间我建议将其作为添加label
到canvas
图表中而不是作为图表中的元素,这样您不需要任何额外的工作来删除线条并降低围绕条形的框的高度。
\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfgantt}
\begin{document}
\begin{ganttchart}[
hgrid,
group progress label node/.append style={below=3pt},
canvas/.append style={label=below:Daily working time} ]{1}{12}
\ganttbar[bar/.append style={draw=orange!50,fill=orange!30}]{Devices On}{3}{11} \\
\ganttbar[bar/.append style={draw=blue!50,fill=blue!30}]{Lights On}{1}{12}
\end{ganttchart}
\end{document}
答案2
根据已接受答案的建议,几乎完全重现上述图像的代码如下:
\documentclass[tikz]{standalone}
\usepackage{pgfgantt}
\definecolor{TableOrange}{RGB}{255,151,46}
\definecolor{TableBlue}{RGB}{38,125,184}
\begin{document}
\begin{ganttchart}[
hgrid,
group progress label node/.append style={below=3pt},
canvas/.append style={label=below:Daily working time} ]{1}{12}
\ganttbar[bar/.append style={line width=1pt, draw=TableOrange,fill=TableOrange,fill opacity=0.6274509804}]{Devices On}{3}{11} \\
\ganttbar[bar/.append style={line width=1pt, draw=TableBlue,fill=TableBlue,fill opacity=0.6274509804}]{Lights On}{1}{12}
\end{ganttchart}
\end{document}