🧩
New! Render PlantUML diagrams directly inside GitHub with our official browser extension — No server. No tokens. No tracking. Zero permissions but clipboard. — Try it out and let us know what you think!

Gantt-Diagramm

Ein Gantt-Diagramm ist ein leistungsstarkes Werkzeug für das Projektmanagement. Es stellt einen Projektplan visuell dar und ermöglicht es Managern und Teammitgliedern, die Start- und Enddaten des gesamten Projekts auf einen Blick zu sehen. Das Diagramm zeigt Vorgänge oder Aktivitäten entlang einer horizontalen Zeitachse an, wobei die Dauer der einzelnen Vorgänge, ihre Reihenfolge und ihre Überlappung oder Gleichzeitigkeit dargestellt werden.

In einem Gantt-Diagramm wird jeder Vorgang durch einen Balken dargestellt, dessen Länge und Position das Startdatum, die Dauer und das Enddatum des Vorgangs widerspiegelt. Dieses Format erleichtert das Verständnis von Abhängigkeiten zwischen Aufgaben, bei denen eine Aufgabe abgeschlossen sein muss, bevor eine andere beginnen kann. Darüber hinaus können Gantt-Diagramme Meilensteine enthalten, d.h. wichtige Ereignisse oder Ziele in der Projektzeitachse, die durch ein eindeutiges Symbol gekennzeichnet sind.

Im Zusammenhang mit der Erstellung von Gantt-Diagrammen bietet PlantUML mehrere Vorteile. Es bietet einen textbasierten Ansatz für die Diagrammerstellung, der es einfach macht, Änderungen mit Hilfe von Versionskontrollsystemen zu verfolgen. Dieser Ansatz ist besonders vorteilhaft für Teams, die bereits an textbasierte Kodierungsumgebungen gewöhnt sind. Die PlantUML-Syntax für Gantt-Diagramme ist unkompliziert und ermöglicht schnelle Änderungen und Aktualisierungen des Projektzeitplans. Darüber hinaus macht die Integration von PlantUML mit anderen Tools und die Fähigkeit, Diagramme dynamisch aus Text zu generieren, es zu einer vielseitigen Wahl für Teams, die ihre Projektmanagement-Dokumentation automatisieren und rationalisieren wollen. Die Verwendung von PlantUML für Gantt-Diagramme kombiniert somit die Klarheit und Effizienz einer visuellen Projektplanung mit der Flexibilität und Kontrolle eines textbasierten Systems.

Deklaration von Aufgaben

Der Gantt wird in natürlicher Sprache beschrieben, unter Verwendung sehr einfacher Sätze (Subjekt-Verb-Komplement).

Aufgaben werden mit eckigen Klammern definiert.

Arbeitsbelastung

Die Arbeitsbelastung für jede Aufgabe wird mit dem Verb requires angegeben, das den Arbeitsaufwand in Tagen angibt.

Eine Woche wird normalerweise als eine Spanne von sieben Tagen verstanden. In Kontexten, in denen bestimmte Tage als "geschlossen" bezeichnet werden (z. B. Wochenenden), kann eine Woche jedoch in Form von "nicht-geschlossenen" Tagen neu definiert werden. Wenn z. B. Samstag und Sonntag als "geschlossen" gekennzeichnet sind, entspricht eine Woche in diesem Zusammenhang einem fünftägigen Arbeitspensum, das den verbleibenden Wochentagen entspricht.

Start

Ihr Beginn wird mit dem Verb start definiert:

[Ref. für D+nn form: QA-14494]

Ende

Ihr Ende wird mit dem Verb end definiert:

Start/Ende

Es ist möglich, beide absolut zu definieren, indem man Daten angibt:

One-line declaration (with the and conjunction)

It is possible to combine declaration on one line with the and conjunction.

Adding constraints

It is possible to add constraints between tasks.

Short names or alias

It is possible to define short name for tasks with the as keyword.

Tasks with same name

[Starting with V1.2024.6,] it is possible to have multiple tasks with same name.

[Ref. QA-12176 and GH-1809]

Customize colors

It is also possible to customize colors with is colored in.

Completion status

Adding completion depending percentage

You can set the completion status of a task, by the command:

Change colour of completion (by style)

[Ref. QA-8297]

Change colour of undone part of Task (by style)

[Ref. QA-15299]

Meilenstein

Sie können Meilensteine mit dem Verb happen definieren.

Relativer Meilenstein (Verwendung von Constraints)

Absoluter Meilenstein (Verwendung eines festen Datums)

Meilenstein des maximalen Endes von Aufgaben

[Ref. QA-10764]

Hyperlinks

You can add hyperlinks to tasks.

Calendar

You can specify a starting date for the whole project. By default, the first task starts at this date.

Coloring days

It is possible to add colors to some days.

Changing scale

You can change scale for very long project, with one of those parameters: and one of the values:

(See QA-11272, QA-9041 and QA-10948)

Daily (by default)

Weekly

Monthly

Quarterly

Yearly

Date range with between

Without date range

With date range

Zoom (example for all scale)

You can change zoom, with the parameter:

Zoom on daily (default) scale

[Ref. QA-13725]

Zoom on weekly scale

Zoom on monthly scale

Zoom on quarterly scale

Zoom on yearly scale

Weekscale with Weeknumbers or Calendar Date

With Weeknumbers (by default)

With Weeknumbers (starting from 1)

[Ref. GH-525]

With specific Weeknumbers (starting from n [including negative integer])

[Ref. GH-2202]

With Calendar Date

[Ref. QA-11630]

Change first day of week

[Ref. QA-11630]

Close day

It is possible to close some day.

Then it is possible to open some closed day.

Definition of a week depending of closed days

A week is a synonym for how many non-closed days are in a week, as:

So if you specify Saturday and Sunday as closed, a week will be equivalent to 5 days, as:

[Ref. QA-13434]

Working days

It is possible to manage working days.

[Ref. QA-16188]

Simplified task succession

It's possible to use the then keyword to denote consecutive tasks.

You can also use arrow ->

Working with resources

You can affect tasks on resources using the on keyword and brackets for resource name.

Multiple resources can be assigned to a task:

Resources can be marked as off on specific days:

Hide resources

Without any hiding (by default)

Hide resources names

You can hide resources names and percentage, on tasks, using the hide resources names keywords.

Hide resources footbox

You can also hide resources names on bottom of the diagram using the hide resources footbox keywords.

Hide the both (resources names and resources footbox)

You can also hide the both.

Horizontal Separator

You can use -- to separate sets of tasks.

Vertical Separator

You can add Vertical Separators with the syntax: Separator just [at].

[Ref. QA-16247]

Complex example

It also possible to use the and conjunction.

You can also add delays in constraints.

Comments

As is mentioned on Common Commands page:
Everything that starts with simple quote ' is a comment.

You can also put comments on several lines using /' to start and '/ to end.
(i.e.: the first character (except space character) of a comment line must be a simple quote ')

Using style

Without style (by default)

With style

You can use style to change rendering of elements.

[Ref. QA-10835, QA-12045, QA-11877 and PR-438]

With style (full example)

[Ref. QA-13570, QA-13672]

DONE
Thanks for style for Separator and all style for Arrow (thickness...)

Clean style

With style, you can also clean a Gantt diagram (showing tasks, dependencies and relative durations only - but no actual start date and no actual scale):
[Ref. QA-13971]

Or:

[Ref. QA-13464]

Add notes

Example with overlap.

DONE
Thanks for correction (of #386 on v1.2020.18) when overlapping

Pause tasks

Change link colors

You can change link colors:

[Ref. QA-13693]

Tasks or Milestones on the same line

You can put Tasks or Milestones on the same line, with this syntax:

Highlight today

Task between two milestones

Grammar and verbal form

Verbal form Example
[T] starts
[M] happens

Add title, header, footer, caption or legend

(See also: Common commands)

Add color on legend

[Ref. QA-19021]

Removing Foot Boxes (example for all scale)

You can use the hide footbox keywords to remove the foot boxes of the gantt diagram (as for sequence diagram).

Examples on:

Language of the calendar

You can choose the language of the Gantt calendar, with the language <xx> command where <xx> is the ISO 639 code of the language.

English (en, by default)

Deutsch (de)

Japanese (ja)

Chinese (zh)

Korean (ko)

Delete Tasks or Milestones

You can mark some Tasks or Milestones as deleted instead of normally completed to distinguish tasks that may possibly have been discarded, postponed or whatever.

[Ref. QA-9129]

Start a project, a task or a milestone a number of days before or after today

You can start a project, a task or a milestone a number of days before or after today, using the builtin functions %now and %date:

[Ref. QA-16285]

Position der Beschriftung ändern

Die Beschriftungen befinden sich in der Nähe der Elemente (standardmäßig)

Um die Position der Beschriftung zu ändern, können Sie den Befehl label verwenden:

Etikett in der ersten Spalte

Etikett### in der letzten Spalte

[Ref. QA-12433]

Definition of a month (30 days)

A month is a synonym for 30 days.

[Ref. QA-14494]