Как создать диаграмму Ганта в LaTeX-Beamer

Как создать диаграмму Ганта в LaTeX-Beamer

Я пытаюсь создать диаграмму Ганта в Beamer. Я нашел следующий пример:

\documentclass{beamer}

\usepackage[utf8]{inputenc}
\usepackage{pgfgantt}

\title{Sample title}
\author{Anonymous}
\institute{Overleaf}
\date{2019}


\begin{document}

\frame{\titlepage}
\begin{frame}{Gant-Chart}
    \begin{ganttchart}[vgrid, hgrid, 
                       bar/.append style={fill=blue!80},
                       milestone/.append style={fill=green}]{1}{15}
        \gantttitle{2019}{15} \\
        \gantttitlelist{1,...,15}{1} \\
        \ganttbar{Task 1}{1}{2} \\
        \ganttmilestone{Milestone}{7} \ganttnewline
        \ganttbar{Final Task}{8}{12}
    \end{ganttchart}
\end{frame} 


\end{document}

Теперь я хочу немного изменить его. Первая строка показывает год. Я хочу, чтобы вторая строка показывала месяцы. А затем третья строка показывает количество недель, которые я запланировал для задачи. Кроме того, я не хочу видеть никаких стрелок, а только прямоугольники. Есть ли способ добавить сетку? В основном я хочу, чтобы все выглядело как в таблице Excel: сетки, а затем раскрасить прямоугольники, в которых я работаю.

Вот пример того, что я хотел бы иметь: Диаграмма Ганта

Может ли кто-нибудь показать мне, как это сделать?

Вот еще один пример, который, кажется, довольно близок к тому, что я хочу. Только в строке недель теперь всегда написано "неделя 1", "неделя 2" и т. д. Мне просто нужен номер.

\begin{frame}
\begin{figure}[h!bt]
    \begin{center}
        \begin{ganttchart}[
            vgrid={*{6}{draw=none}, dotted},
            x unit=.08cm,
            y unit title=.6cm,
            y unit chart=.6cm,
            time slot format=isodate,
            time slot format/start date=2019-02-01]{2019-02-01}{2019-07-31}
            \ganttset{bar height=.6}
            \gantttitlecalendar{year, month=name, week} \\
            \ganttbar[bar/.append style={fill=blue}]{Task 1}{2019-02-11}{2019-02-17}\\
        \end{ganttchart}
    \end{center}
    \caption{Time Plan}
\end{figure}
\end{frame}

решение1

Отправной точкой для вас может быть:

\documentclass{standalone}

\usepackage[utf8]{inputenc}
\usepackage{pgfgantt}



\begin{document}

\begin{ganttchart}[
    hgrid,
    vgrid={*{6}{draw=none}, dotted},
    x unit=0.125cm,
    time slot format=isodate,
    time slot unit=day,
    calendar week text = {W\currentweek{}},
    bar height = 1, %necessary to make it fit the height
    bar top shift = -0.01, %to move it inside the grid space ;)
    ]{2019-01-01}{2019-06-30}
    \gantttitlecalendar{year, month=name, week} \\
    \ganttbar[bar/.append style={fill=red}]{Start}{2019-01-01}{2019-01-07}\\
        \ganttbar[bar/.append style={fill=yellow}]{A}{2019-01-08}{2019-01-14}\\
        \ganttbar[bar/.append style={fill=cyan}]{A}{2019-01-15}{2019-01-21}\\
                \ganttbar[bar/.append style={fill=green}]{Finish phase 1}{2019-01-22}{2019-01-28}
\end{ganttchart}


\end{document}

который дает:

введите описание изображения здесь

Однако, обратите внимание, что вы можете настраивать эти диаграммы Ганта так, как вам хочется. Просто посмотрите инди-документацию пакета pgfgantt ;-).

P.S.:(Как @Johannes_Bуже было сказано) пожалуйста, не добавляйте лишних вопросов, если вы не получили ответа на вопрос.

Далее, чтобы поместить его в рамку вашего проектора, вы можете использовать adjustboxpackage в преамбуле и вставить этот фрагмент следующим образом:

    \frame{\titlepage}
    \begin{frame}{Gant-Chart}
    \begin{adjustbox}{max totalsize={\textwidth}{.7\textheight},center}
    \begin{ganttchart}[
        hgrid,
        vgrid={*{6}{draw=none}, dotted},
        x unit=0.125cm,
        time slot format=isodate,
        time slot unit=day,
        calendar week text = {W\currentweek{}},
        bar height = 1, %necessary to make it fit the height
        bar top shift = -0.01, %to move it inside the grid space ;)
        ]{2019-01-01}{2019-06-30}
        \gantttitlecalendar{year, month=name, week} \\
        \ganttbar[bar/.append style={fill=red}]{Start}{2019-01-01}{2019-01-07}\\
        \ganttbar[bar/.append style={fill=yellow}]{A}{2019-01-08}{2019-01-14}\\
        \ganttbar[bar/.append style={fill=cyan}]{A}{2019-01-15}{2019-01-21}\\
        \ganttbar[bar/.append style={fill=green}]{Finish phase 1}{2019-01-22}{2019-01-28}
    \end{ganttchart}
\end{adjustbox}
\end{frame} 

Примечание:Результат такой же, как и в предыдущем случае, но теперь он масштабируется в соответствии с шириной текста.

Связанный контент