So erstellen Sie ein Gant-Diagramm in LaTeX-Beamer

So erstellen Sie ein Gant-Diagramm in LaTeX-Beamer

Ich versuche, ein Gantt-Diagramm in Beamer zu erstellen. Dabei habe ich folgendes Beispiel gefunden:

\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}

Jetzt möchte ich es leicht ändern. Die erste Zeile zeigt das Jahr. Die zweite Zeile soll die Monate zeigen. Und die dritte Zeile zeigt die Anzahl der Wochen, die ich für die Aufgabe eingeplant habe. Außerdem möchte ich keine Pfeile sehen, sondern nur die Rechtecke. Gibt es eine Möglichkeit, ein Raster hinzuzufügen? Im Grunde möchte ich, dass alles wie in einer Excel-Tabelle aussieht: Raster und dann die Rechtecke einfärben, während der ich arbeite.

Hier ist ein Beispiel dessen, was ich gerne hätte: Gantt-Diagramm

Kann mir jemand zeigen, wie das geht?

Hier ist ein weiteres Beispiel, das dem, was ich will, ziemlich nahe kommt. Nur steht jetzt in der Wochenzeile immer „Woche 1“, „Woche 2“ und so weiter. Ich will nur die Nummer.

\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}

Antwort1

Ein Ansatzpunkt für Sie könnte sein:

\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}

Das Ergebnis ist:

Bildbeschreibung hier eingeben

Beachten Sie jedoch, dass Sie diese Gantt-Diagramme beliebig anpassen können. Schauen Sie einfach in die Dokumentation des pgfgantt-Pakets ;-).

PS:(Wie @Johannes_Bbereits erwähnt) stellen Sie bitte keine redundanten Fragen, wenn Sie auf eine Frage keine Antwort erhalten haben.

Um es anschließend in Ihren Beamer-Rahmen einzupassen, können Sie adjustboxin Ihrer Präambel ein Paket verwenden und diesen Snippet wie folgt einfügen:

    \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} 

Notiz:Die Ausgabe ist dieselbe wie die vorherige, jetzt jedoch an die Textbreite angepasst.

verwandte Informationen