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.
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.
🎉 Copied!
|
@startgantt
[Prototype design] requires 15 days
[Test prototype] requires 10 days
-- All example --
[Task 1 (1 day)] requires 1 day
[T2 (5 days)] requires 5 days
[T3 (1 week)] requires 1 week
[T4 (1 week and 4 days)] requires 1 week and 4 days
[T5 (2 weeks)] requires 2 weeks
@endgantt
|
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:
🎉 Copied!
|
@startgantt
[Prototype design] requires 15 days
[Test prototype] requires 10 days
Project starts 2020-07-01
[Prototype design] starts 2020-07-01
[Test prototype] starts 2020-07-16
@endgantt
|
🎉 Copied!
|
@startgantt
[Prototype design] requires 15 days
[Test prototype] requires 10 days
[Prototype design] starts D+0
[Test prototype] starts D+15
@endgantt
|
[Ref. für D+nn
form: QA-14494]
Ende
Ihr Ende wird mit dem Verb
end
definiert:
🎉 Copied!
|
@startgantt
[Prototype design] requires 15 days
[Test prototype] requires 10 days
Project starts 2020-07-01
[Prototype design] ends 2020-07-15
[Test prototype] ends 2020-07-25
@endgantt
|
🎉 Copied!
|
@startgantt
[Prototype design] requires 15 days
[Test prototype] requires 10 days
[Prototype design] ends D+14
[Test prototype] ends D+24
@endgantt
|
Start/Ende
Es ist möglich, beide absolut zu definieren, indem man Daten angibt:
🎉 Copied!
|
@startgantt
Project starts 2020-07-01
[Prototype design] starts 2020-07-01
[Test prototype] starts 2020-07-16
[Prototype design] ends 2020-07-15
[Test prototype] ends 2020-07-25
@endgantt
|
🎉 Copied!
|
@startgantt
[Prototype design] starts D+0
[Test prototype] starts D+15
[Prototype design] ends D+14
[Test prototype] ends D+24
@endgantt
|
It is possible to combine declaration on one line with the
and
conjunction.
🎉 Copied!
|
@startgantt
Project starts 2020-07-01
[Prototype design] starts 2020-07-01 and ends 2020-07-15
[Test prototype] starts 2020-07-16 and requires 10 days
@endgantt
|
It is possible to add constraints between tasks.
🎉 Copied!
|
@startgantt
[Prototype design] requires 15 days
[Test prototype] requires 10 days
[Test prototype] starts at [Prototype design]'s end
@endgantt
|
🎉 Copied!
|
@startgantt
[Prototype design] requires 10 days
[Code prototype] requires 10 days
[Write tests] requires 5 days
[Code prototype] starts at [Prototype design]'s end
[Write tests] starts at [Code prototype]'s start
@endgantt
|
It is possible to define short name for tasks with the
as
keyword.
🎉 Copied!
|
@startgantt
[Prototype design] as [D] requires 15 days
[Test prototype] as [T] requires 10 days
[T] starts at [D]'s end
@endgantt
|
[Starting with V1.2024.6,] it is possible to have multiple tasks with same name.
🎉 Copied!
|
@startgantt
Project starts 2020-11-08
[Task 7 days] as [T7] starts at 2020-11-09
[T7] ends at 2020-11-15
[Task 7 days] as [T7bis] starts at 2020-11-09
[T7bis] ends at 2020-11-15
@endgantt
|
🎉 Copied!
|
@startgantt
[SameTaskName] as [T1] lasts 7 days and is colored in pink
[SameTaskName] as [T2] lasts 3 days and is colored in orange
[T1] -> [T2]
@endgantt
|
[Ref. QA-12176 and GH-1809]
It is also possible to customize
colors with
is colored in
.
🎉 Copied!
|
@startgantt
[Prototype design] requires 13 days
[Test prototype] requires 4 days
[Test prototype] starts at [Prototype design]'s end
[Prototype design] is colored in Fuchsia/FireBrick
[Test prototype] is colored in GreenYellow/Green
@endgantt
|
Adding completion depending percentage
You can set the completion status of a task, by the command:
is xx% completed
is xx% complete
🎉 Copied!
|
@startgantt
[foo] requires 21 days
[foo] is 40% completed
[bar] requires 30 days and is 10% complete
@endgantt
|
Change colour of completion (by style)
[Ref. QA-8297]
Change colour of undone part of Task (by style)
🎉 Copied!
|
@startgantt
<style>
ganttDiagram {
task {
BackGroundColor GreenYellow
LineColor Green
}
undone {
BackGroundColor red
}
}
</style>
[foo] lasts 21 days
[foo] is 40% completed
[bar] lasts 30 days and is 10% complete
@endgantt
|
[Ref. QA-15299]
Sie können Meilensteine mit dem Verb
happen
definieren.
Relativer Meilenstein (Verwendung von Constraints)
🎉 Copied!
|
@startgantt
[Test prototype] requires 10 days
[Prototype completed] happens at [Test prototype]'s end
[Setup assembly line] requires 12 days
[Setup assembly line] starts at [Test prototype]'s end
@endgantt
|
Absoluter Meilenstein (Verwendung eines festen Datums)
🎉 Copied!
|
@startgantt
Project starts 2020-07-01
[Test prototype] requires 10 days
[Prototype completed] happens 2020-07-10
[Setup assembly line] requires 12 days
[Setup assembly line] starts at [Test prototype]'s end
@endgantt
|
Meilenstein des maximalen Endes von Aufgaben
🎉 Copied!
|
@startgantt
[Task1] requires 4 days
then [Task1.1] requires 4 days
[Task1.2] starts at [Task1]'s end and requires 7 days
[Task2] requires 5 days
then [Task2.1] requires 4 days
[MaxTaskEnd] happens at [Task1.1]'s end
[MaxTaskEnd] happens at [Task1.2]'s end
[MaxTaskEnd] happens at [Task2.1]'s end
@endgantt
|
[Ref. QA-10764]
You can add hyperlinks to tasks.
🎉 Copied!
|
@startgantt
[task1] requires 10 days
[task1] links to [[http://plantuml.com]]
@endgantt
|
You can specify a starting date for the whole project. By default, the first task starts at this date.
🎉 Copied!
|
@startgantt
Project starts the 20th of september 2017
[Prototype design] as [TASK1] requires 13 days
[TASK1] is colored in Lavender/LightBlue
@endgantt
|
It is possible to add
colors to some days.
🎉 Copied!
|
@startgantt
Project starts the 2020/09/01
2020/09/07 is colored in salmon
2020/09/13 to 2020/09/16 are colored in lightblue
[Prototype design] as [TASK1] requires 22 days
[TASK1] is colored in Lavender/LightBlue
[Prototype completed] happens at [TASK1]'s end
@endgantt
|
You can change scale for very long project, with one of those parameters:
- printscale
- ganttscale
- projectscale
and one of the values:
- daily (by default)
- weekly
- monthly
- quarterly
- yearly
(See QA-11272, QA-9041 and QA-10948)
Daily (by default)
🎉 Copied!
|
@startgantt
saturday are closed
sunday are closed
Project starts the 1st of january 2021
[Prototype design end] as [TASK1] requires 19 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 14 days
[TASK1]->[Testing]
2021-01-18 to 2021-01-22 are named [End's committee]
2021-01-18 to 2021-01-22 are colored in salmon
@endgantt
|
Weekly
🎉 Copied!
|
@startgantt
printscale weekly
saturday are closed
sunday are closed
Project starts the 1st of january 2021
[Prototype design end] as [TASK1] requires 19 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 14 days
[TASK1]->[Testing]
2021-01-18 to 2021-01-22 are named [End's committee]
2021-01-18 to 2021-01-22 are colored in salmon
@endgantt
|
🎉 Copied!
|
@startgantt
printscale weekly
Project starts the 20th of september 2020
[Prototype design] as [TASK1] requires 130 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 20 days
[TASK1]->[Testing]
2021-01-18 to 2021-01-22 are named [End's committee]
2021-01-18 to 2021-01-22 are colored in salmon
@endgantt
|
Monthly
🎉 Copied!
|
@startgantt
projectscale monthly
Project starts the 20th of september 2020
[Prototype design] as [TASK1] requires 130 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 20 days
[TASK1]->[Testing]
2021-01-18 to 2021-01-22 are named [End's committee]
2021-01-18 to 2021-01-22 are colored in salmon
@endgantt
|
Quarterly
🎉 Copied!
|
@startgantt
projectscale quarterly
Project starts the 20th of september 2020
[Prototype design] as [TASK1] requires 130 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 20 days
[TASK1]->[Testing]
2021-01-18 to 2021-01-22 are named [End's committee]
2021-01-18 to 2021-01-22 are colored in salmon
@endgantt
|
🎉 Copied!
|
@startgantt
projectscale quarterly
Project starts the 1st of october 2020
[Prototype design] as [TASK1] requires 700 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 200 days
[TASK1]->[Testing]
2021-01-18 to 2021-03-22 are colored in salmon
@endgantt
|
Yearly
🎉 Copied!
|
@startgantt
projectscale yearly
Project starts the 1st of october 2020
[Prototype design] as [TASK1] requires 700 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 200 days
[TASK1]->[Testing]
2021-01-18 to 2021-03-22 are colored in salmon
@endgantt
|
Date range with between
Without date range
🎉 Copied!
|
@startgantt
saturday are closed
sunday are closed
Project starts the 1st of january 2021
[Prototype design end] as [TASK1] requires 8 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 3 days
[TASK1]->[Testing]
2021-01-18 to 2021-01-22 are named [End's committee]
2021-01-18 to 2021-01-22 are colored in salmon
@endgantt
|
With date range
🎉 Copied!
|
@startgantt
Print between 2021-01-12 and 2021-01-22
Saturday are closed
sunday are closed
Project starts the 1st of january 2021
[Prototype design end] as [TASK1] requires 8 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 3 days
[TASK1]->[Testing]
2021-01-18 to 2021-01-22 are named [End's committee]
2021-01-18 to 2021-01-22 are colored in salmon
@endgantt
|
You can change zoom, with the parameter:
Zoom on daily (default) scale
🎉 Copied!
|
@startgantt
printscale daily
saturday are closed
sunday are closed
Project starts the 1st of january 2021
[Prototype design end] as [TASK1] requires 8 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 3 days
[TASK1]->[Testing]
2021-01-18 to 2021-01-22 are named [End's committee]
2021-01-18 to 2021-01-22 are colored in salmon
@endgantt
|
🎉 Copied!
|
@startgantt
printscale daily zoom 2
saturday are closed
sunday are closed
Project starts the 1st of january 2021
[Prototype design end] as [TASK1] requires 8 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 3 days
[TASK1]->[Testing]
2021-01-18 to 2021-01-22 are named [End's committee]
2021-01-18 to 2021-01-22 are colored in salmon
@endgantt
|
[Ref. QA-13725]
Zoom on weekly scale
🎉 Copied!
|
@startgantt
printscale weekly
saturday are closed
sunday are closed
Project starts the 1st of january 2021
[Prototype design end] as [TASK1] requires 19 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 14 days
[TASK1]->[Testing]
2021-01-18 to 2021-01-22 are named [End's committee]
2021-01-18 to 2021-01-22 are colored in salmon
@endgantt
|
🎉 Copied!
|
@startgantt
printscale weekly zoom 4
saturday are closed
sunday are closed
Project starts the 1st of january 2021
[Prototype design end] as [TASK1] requires 19 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 14 days
[TASK1]->[Testing]
2021-01-18 to 2021-01-22 are named [End's committee]
2021-01-18 to 2021-01-22 are colored in salmon
@endgantt
|
Zoom on monthly scale
🎉 Copied!
|
@startgantt
projectscale monthly
Project starts the 20th of september 2020
[Prototype design] as [TASK1] requires 130 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 20 days
[TASK1]->[Testing]
2021-01-18 to 2021-01-22 are named [End's committee]
2021-01-18 to 2021-01-22 are colored in salmon
@endgantt
|
🎉 Copied!
|
@startgantt
projectscale monthly zoom 3
Project starts the 20th of september 2020
[Prototype design] as [TASK1] requires 130 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 20 days
[TASK1]->[Testing]
2021-01-18 to 2021-01-22 are named [End's committee]
2021-01-18 to 2021-01-22 are colored in salmon
@endgantt
|
Zoom on quarterly scale
🎉 Copied!
|
@startgantt
projectscale quarterly
Project starts the 20th of september 2020
[Prototype design] as [TASK1] requires 130 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 20 days
[TASK1]->[Testing]
2021-01-18 to 2021-01-22 are named [End's committee]
2021-01-18 to 2021-01-22 are colored in salmon
@endgantt
|
🎉 Copied!
|
@startgantt
projectscale quarterly zoom 7
Project starts the 20th of september 2020
[Prototype design] as [TASK1] requires 130 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 20 days
[TASK1]->[Testing]
2021-01-18 to 2021-01-22 are named [End's committee]
2021-01-18 to 2021-01-22 are colored in salmon
@endgantt
|
Zoom on yearly scale
🎉 Copied!
|
@startgantt
projectscale yearly
Project starts the 1st of october 2020
[Prototype design] as [TASK1] requires 700 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 200 days
[TASK1]->[Testing]
2021-01-18 to 2021-03-22 are colored in salmon
@endgantt
|
🎉 Copied!
|
@startgantt
projectscale yearly zoom 2
Project starts the 1st of october 2020
[Prototype design] as [TASK1] requires 700 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 200 days
[TASK1]->[Testing]
2021-01-18 to 2021-03-22 are colored in salmon
@endgantt
|
With Weeknumbers (by default)
🎉 Copied!
|
@startgantt
printscale weekly
Project starts the 6th of July 2020
[Task1] on {Alice} requires 2 weeks
[Task2] on {Bob:50%} requires 2 weeks
then [Task3] on {Alice:25%} requires 3 days
@endgantt
|
With Weeknumbers (starting from 1)
🎉 Copied!
|
@startgantt
printscale weekly with week numbering from 1
Project starts the 6th of July 2020
[Task1] on {Alice} requires 2 weeks
[Task2] on {Bob:50%} requires 2 weeks
then [Task3] on {Alice:25%} requires 3 days
@endgantt
|
[Ref. GH-525]
With Calendar Date
🎉 Copied!
|
@startgantt
printscale weekly with calendar date
Project starts the 6th of July 2020
[Task1] on {Alice} requires 2 weeks
[Task2] on {Bob:50%} requires 2 weeks
then [Task3] on {Alice:25%} requires 3 days
@endgantt
|
[Ref. QA-11630]
It is possible to close some day.
🎉 Copied!
|
@startgantt
project starts the 2018/04/09
saturday are closed
sunday are closed
2018/05/01 is closed
2018/04/17 to 2018/04/19 is closed
[Prototype design] requires 14 days
[Test prototype] requires 4 days
[Test prototype] starts at [Prototype design]'s end
[Prototype design] is colored in Fuchsia/FireBrick
[Test prototype] is colored in GreenYellow/Green
@endgantt
|
Then it is possible to open some closed day.
🎉 Copied!
|
@startgantt
2020-07-07 to 2020-07-17 is closed
2020-07-13 is open
Project starts the 2020-07-01
[Prototype design] requires 10 days
Then [Test prototype] requires 10 days
@endgantt
|
A
week is a synonym for how many non-closed days are in a week, as:
🎉 Copied!
|
@startgantt
Project starts 2021-03-29
[Review 01] happens at 2021-03-29
[Review 02 - 3 weeks] happens on 3 weeks after [Review 01]'s end
[Review 02 - 21 days] happens on 21 days after [Review 01]'s end
@endgantt
|
So if you specify
Saturday and
Sunday as closed, a
week will be equivalent to 5 days, as:
🎉 Copied!
|
@startgantt
Project starts 2021-03-29
saturday are closed
sunday are closed
[Review 01] happens at 2021-03-29
[Review 02 - 3 weeks] happens on 3 weeks after [Review 01]'s end
[Review 02 - 21 days] happens on 21 days after [Review 01]'s end
@endgantt
|
[Ref. QA-13434]
It is possible to manage working days.
🎉 Copied!
|
@startgantt
saturday are closed
sunday are closed
2022-07-04 to 2022-07-15 is closed
Project starts 2022-06-27
[task1] starts at 2022-06-27 and requires 1 week
[task2] starts 2 working days after [task1]'s end and requires 3 days
@endgantt
|
[Ref. QA-16188]
It's possible to use the
then
keyword to denote consecutive tasks.
🎉 Copied!
|
@startgantt
[Prototype design] requires 14 days
then [Test prototype] requires 4 days
then [Deploy prototype] requires 6 days
@endgantt
|
You can also use arrow
->
🎉 Copied!
|
@startgantt
[Prototype design] requires 14 days
[Build prototype] requires 4 days
[Prepare test] requires 6 days
[Prototype design] -> [Build prototype]
[Prototype design] -> [Prepare test]
@endgantt
|
You can affect tasks on resources using the
on
keyword and brackets for resource name.
🎉 Copied!
|
@startgantt
[Task1] on {Alice} requires 10 days
[Task2] on {Bob:50%} requires 2 days
then [Task3] on {Alice:25%} requires 1 days
@endgantt
|
Multiple resources can be assigned to a task:
🎉 Copied!
|
@startgantt
[Task1] on {Alice} {Bob} requires 20 days
@endgantt
|
Resources can be marked as off on specific days:
🎉 Copied!
|
@startgantt
project starts on 2020-06-19
[Task1] on {Alice} requires 10 days
{Alice} is off on 2020-06-24 to 2020-06-26
@endgantt
|
Without any hiding (by default)
🎉 Copied!
|
@startgantt
[Task1] on {Alice} requires 10 days
[Task2] on {Bob:50%} requires 2 days
then [Task3] on {Alice:25%} requires 1 days
then [Task4] on {Alice:25%} {Bob} requires 1 days
@endgantt
|
Hide resources names
You can hide resources names and percentage, on tasks, using the
hide resources names
keywords.
🎉 Copied!
|
@startgantt
hide resources names
[Task1] on {Alice} requires 10 days
[Task2] on {Bob:50%} requires 2 days
then [Task3] on {Alice:25%} requires 1 days
then [Task4] on {Alice:25%} {Bob} requires 1 days
@endgantt
|
Hide resources footbox
You can also hide resources names on bottom of the diagram using the
hide resources footbox
keywords.
🎉 Copied!
|
@startgantt
hide resources footbox
[Task1] on {Alice} requires 10 days
[Task2] on {Bob:50%} requires 2 days
then [Task3] on {Alice:25%} requires 1 days
then [Task4] on {Alice:25%} {Bob} requires 1 days
@endgantt
|
Hide the both (resources names and resources footbox)
You can also hide the both.
🎉 Copied!
|
@startgantt
hide resources names
hide resources footbox
[Task1] on {Alice} requires 10 days
[Task2] on {Bob:50%} requires 2 days
then [Task3] on {Alice:25%} requires 1 days
then [Task4] on {Alice:25%} {Bob} requires 1 days
@endgantt
|
You can use
--
to separate sets of tasks.
🎉 Copied!
|
@startgantt
[Task1] requires 10 days
then [Task2] requires 4 days
-- Phase Two --
then [Task3] requires 5 days
then [Task4] requires 6 days
@endgantt
|
You can add Vertical Separators with the syntax:
Separator just [at]
.
🎉 Copied!
|
@startgantt
[task1] requires 1 week
[task2] starts 20 days after [task1]'s end and requires 3 days
Separator just at [task1]'s end
Separator just 2 days after [task1]'s end
Separator just at [task2]'s start
Separator just 2 days before [task2]'s start
@endgantt
|
[Ref. QA-16247]
It also possible to use the
and
conjunction.
You can also add delays in constraints.
🎉 Copied!
|
@startgantt
[Prototype design] requires 13 days and is colored in Lavender/LightBlue
[Test prototype] requires 9 days and is colored in Coral/Green and starts 3 days after [Prototype design]'s end
[Write tests] requires 5 days and ends at [Prototype design]'s end
[Hire tests writers] requires 6 days and ends at [Write tests]'s start
[Init and write tests report] is colored in Coral/Green
[Init and write tests report] starts 1 day before [Test prototype]'s start and ends at [Test prototype]'s end
@endgantt
|
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 '
)
🎉 Copied!
|
@startgantt
' This is a comment
[T1] requires 3 days
/' this comment
is on several lines '/
[T2] starts at [T1]'s end and requires 1 day
@endgantt
|
Without style (by default)
🎉 Copied!
|
@startgantt
[Task1] requires 20 days
note bottom
memo1 ...
memo2 ...
explanations1 ...
explanations2 ...
end note
[Task2] requires 4 days
[Task1] -> [Task2]
-- Separator title --
[M1] happens on 5 days after [Task1]'s end
-- end --
@endgantt
|
With style
You can use
style to change rendering of elements.
🎉 Copied!
|
@startgantt
<style>
ganttDiagram {
task {
FontName Helvetica
FontColor red
FontSize 18
FontStyle bold
BackGroundColor GreenYellow
LineColor blue
}
milestone {
FontColor blue
FontSize 25
FontStyle italic
BackGroundColor yellow
LineColor red
}
note {
FontColor DarkGreen
FontSize 10
LineColor OrangeRed
}
arrow {
FontName Helvetica
FontColor red
FontSize 18
FontStyle bold
BackGroundColor GreenYellow
LineColor blue
}
separator {
LineColor red
BackGroundColor green
FontSize 16
FontStyle bold
FontColor purple
}
}
</style>
[Task1] requires 20 days
note bottom
memo1 ...
memo2 ...
explanations1 ...
explanations2 ...
end note
[Task2] requires 4 days
[Task1] -> [Task2]
-- Separator title --
[M1] happens on 5 days after [Task1]'s end
-- end --
@endgantt
|
[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):
🎉 Copied!
|
@startgantt
<style>
ganttDiagram {
timeline {
LineColor transparent
FontColor transparent
}
}
</style>
hide footbox
[Test prototype] requires 7 days
[Prototype completed] happens at [Test prototype]'s end
[Setup assembly line] requires 9 days
[Setup assembly line] starts at [Test prototype]'s end
then [Setup] requires 5 days
[T2] requires 2 days and starts at [Test prototype]'s end
then [T3] requires 3 days
-- end task --
then [T4] requires 2 days
@endgantt
|
[Ref. QA-13971]
Or:
🎉 Copied!
|
@startgantt
<style>
ganttDiagram {
timeline {
LineColor transparent
FontColor transparent
}
closed {
FontColor transparent
}
}
</style>
hide footbox
project starts the 2018/04/09
saturday are closed
sunday are closed
2018/05/01 is closed
2018/04/17 to 2018/04/19 is closed
[Prototype design] requires 9 days
[Test prototype] requires 5 days
[Test prototype] starts at [Prototype design]'s end
[Prototype design] is colored in Fuchsia/FireBrick
[Test prototype] is colored in GreenYellow/Green
@endgantt
|
[Ref. QA-13464]
🎉 Copied!
|
@startgantt
[task01] requires 15 days
note bottom
memo1 ...
memo2 ...
explanations1 ...
explanations2 ...
end note
[task01] -> [task02]
@endgantt
|
Example with overlap.
🎉 Copied!
|
@startgantt
[task01] requires 15 days
note bottom
memo1 ...
memo2 ...
explanations1 ...
explanations2 ...
end note
[task01] -> [task02]
[task03] requires 5 days
@endgantt
|
🎉 Copied!
|
@startgantt
-- test01 --
[task01] requires 4 days
note bottom
'note left
memo1 ...
memo2 ...
explanations1 ...
explanations2 ...
end note
[task02] requires 8 days
[task01] -> [task02]
note bottom
'note left
memo1 ...
memo2 ...
explanations1 ...
explanations2 ...
end note
-- test02 --
[task03] as [t3] requires 7 days
[t3] -> [t4]
@endgantt
|
DONE
Thanks for correction (of #386 on v1.2020.18) when overlapping
🎉 Copied!
|
@startgantt
Project starts 2020-09-01
[taskA] starts 2020-09-01 and requires 3 days
[taskB] starts 2020-09-10 and requires 3 days
[taskB] displays on same row as [taskA]
[task01] starts 2020-09-05 and requires 4 days
then [task02] requires 8 days
note bottom
note for task02
more notes
end note
then [task03] requires 7 days
note bottom
note for task03
more notes
end note
-- separator --
[taskC] starts 2020-09-02 and requires 5 days
[taskD] starts 2020-09-09 and requires 5 days
[taskD] displays on same row as [taskC]
[task 10] starts 2020-09-05 and requires 5 days
then [task 11] requires 5 days
note bottom
note for task11
more notes
end note
@endgantt
|
🎉 Copied!
|
@startgantt
Project starts the 5th of december 2018
saturday are closed
sunday are closed
2018/12/29 is opened
[Prototype design] requires 17 days
[Prototype design] pauses on 2018/12/13
[Prototype design] pauses on 2018/12/14
[Prototype design] pauses on monday
[Test prototype] starts at [Prototype design]'s end and requires 2 weeks
@endgantt
|
You can change link colors:
- with this syntax:
with <color> <style> link
🎉 Copied!
|
@startgantt
[T1] requires 4 days
[T2] requires 4 days and starts 3 days after [T1]'s end with blue dotted link
[T3] requires 4 days and starts 3 days after [T2]'s end with green bold link
[T4] requires 4 days and starts 3 days after [T3]'s end with green dashed link
@endgantt
|
- or directly by using arrow style
🎉 Copied!
|
@startgantt
<style>
ganttDiagram {
arrow {
LineColor blue
}
}
</style>
[Prototype design] requires 7 days
[Build prototype] requires 4 days
[Prepare test] requires 6 days
[Prototype design] -[#FF00FF]-> [Build prototype]
[Prototype design] -[dotted]-> [Prepare test]
Then [Run test] requires 4 days
@endgantt
|
[Ref. QA-13693]
You can put Tasks or Milestones on the same line, with this syntax:
[T|M] displays on same row as [T|M]
🎉 Copied!
|
@startgantt
[Prototype design] requires 13 days
[Test prototype] requires 4 days and 1 week
[Test prototype] starts 1 week and 2 days after [Prototype design]'s end
[Test prototype] displays on same row as [Prototype design]
[r1] happens on 5 days after [Prototype design]'s end
[r2] happens on 5 days after [r1]'s end
[r3] happens on 5 days after [r2]'s end
[r2] displays on same row as [r1]
[r3] displays on same row as [r1]
@endgantt
|
🎉 Copied!
|
@startgantt
Project starts the 20th of september 2018
sunday are close
2018/09/21 to 2018/09/23 are colored in salmon
2018/09/21 to 2018/09/30 are named [Vacation in the Bahamas]
today is 30 days after start and is colored in #AAF
[Foo] happens 40 days after start
[Dummy] requires 10 days and starts 10 days after start
@endgantt
|
🎉 Copied!
|
@startgantt
project starts on 2020-07-01
[P_start] happens 2020-07-03
[P_end] happens 2020-07-13
[Prototype design] occurs from [P_start] to [P_end]
@endgantt
|
Verbal form
|
Example
|
[T] starts
|
|
[M] happens
|
|
🎉 Copied!
|
@startgantt
header some header
footer some footer
title My title
[Prototype design] requires 13 days
legend
The legend
end legend
caption This is caption
@endgantt
|
(See also: Common commands)
🎉 Copied!
|
@startgantt
[Kick off] requires 1 days and is colored in blue
then [Prototype design] requires 5 days
[Test prototype] requires 4 days
[Test prototype] starts at [Prototype design]'s end
[Prototype design] is colored in Green
[Test prototype] is colored in gray
legend
Legend:
|= Color |= Task Type |
|<#gray> | Planned |
|<#Green>| In progress |
|<#blue> | Done |
end legend
@endgantt
|
[Ref. QA-19021]
You can use the
hide footbox
keywords to remove the foot boxes
of the gantt diagram
(as for sequence diagram).
Examples on:
- daily scale (without project start)
🎉 Copied!
|
@startgantt
hide footbox
title Foot Box removed
[Prototype design] requires 15 days
[Test prototype] requires 10 days
@endgantt
|
🎉 Copied!
|
@startgantt
Project starts the 20th of september 2017
[Prototype design] as [TASK1] requires 13 days
[TASK1] is colored in Lavender/LightBlue
hide footbox
@endgantt
|
🎉 Copied!
|
@startgantt
hide footbox
printscale weekly
saturday are closed
sunday are closed
Project starts the 1st of january 2021
[Prototype design end] as [TASK1] requires 19 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 14 days
[TASK1]->[Testing]
2021-01-18 to 2021-01-22 are named [End's committee]
2021-01-18 to 2021-01-22 are colored in salmon
@endgantt
|
🎉 Copied!
|
@startgantt
hide footbox
projectscale monthly
Project starts the 20th of september 2020
[Prototype design] as [TASK1] requires 130 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 20 days
[TASK1]->[Testing]
2021-01-18 to 2021-01-22 are named [End's committee]
2021-01-18 to 2021-01-22 are colored in salmon
@endgantt
|
🎉 Copied!
|
@startgantt
hide footbox
projectscale quarterly
Project starts the 1st of october 2020
[Prototype design] as [TASK1] requires 700 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 200 days
[TASK1]->[Testing]
2021-01-18 to 2021-03-22 are colored in salmon
@endgantt
|
🎉 Copied!
|
@startgantt
hide footbox
projectscale yearly
Project starts the 1st of october 2020
[Prototype design] as [TASK1] requires 700 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 200 days
[TASK1]->[Testing]
2021-01-18 to 2021-03-22 are colored in salmon
@endgantt
|
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)
🎉 Copied!
|
@startgantt
saturday are closed
sunday are closed
Project starts 2021-01-01
[Prototype design end] as [TASK1] requires 19 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 14 days
[TASK1]->[Testing]
2021-01-18 to 2021-01-22 are colored in salmon
@endgantt
|
Deutsch (de)
🎉 Copied!
|
@startgantt
language de
saturday are closed
sunday are closed
Project starts 2021-01-01
[Prototype design end] as [TASK1] requires 19 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 14 days
[TASK1]->[Testing]
2021-01-18 to 2021-01-22 are colored in salmon
@endgantt
|
Japanese (ja)
🎉 Copied!
|
@startgantt
language ja
saturday are closed
sunday are closed
Project starts 2021-01-01
[Prototype design end] as [TASK1] requires 19 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 14 days
[TASK1]->[Testing]
2021-01-18 to 2021-01-22 are colored in salmon
@endgantt
|
Chinese (zh)
🎉 Copied!
|
@startgantt
language zh
saturday are closed
sunday are closed
Project starts 2021-01-01
[Prototype design end] as [TASK1] requires 19 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 14 days
[TASK1]->[Testing]
2021-01-18 to 2021-01-22 are colored in salmon
@endgantt
|
Korean (ko)
🎉 Copied!
|
@startgantt
language ko
saturday are closed
sunday are closed
Project starts 2021-01-01
[Prototype design end] as [TASK1] requires 19 days
[TASK1] is colored in Lavender/LightBlue
[Testing] requires 14 days
[TASK1]->[Testing]
2021-01-18 to 2021-01-22 are colored in salmon
@endgantt
|
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.
🎉 Copied!
|
@startgantt
[Prototype design] requires 1 weeks
then [Prototype completed] requires 4 days
[End Prototype completed] happens at [Prototype completed]'s end
then [Test prototype] requires 5 days
[End Test prototype] happens at [Test prototype]'s end
[Prototype completed] is deleted
[End Prototype completed] is deleted
@endgantt
|
[Ref. QA-9129]
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
:
🎉 Copied!
|
@startgantt
title Today is %date("YYYY-MM-dd")
!$now = %now()
!$past = %date("YYYY-MM-dd", $now - 14*24*3600)
Project starts $past
today is colored in pink
[foo] requires 10 days
[bar] requires 5 days and starts %date("YYYY-MM-dd", $now + 4*24*3600)
[Tomorrow] happens %date("YYYY-MM-dd", $now + 1*24*3600)
@endgantt
|
[Ref. QA-16285]
Die Beschriftungen befinden sich in der Nähe der Elemente (standardmäßig)
🎉 Copied!
|
@startgantt
[Task1] requires 1 days
then [Task2_long_long_long] as [T2] requires 2 days
-- Phase Two --
then [Task3] as [T3] requires 2 days
[Task4] as [T4] requires 1 day
[Task5] as [T5] requires 2 days
[T2] -> [T4]
[T2] -> [T5]
[Task6_long_long_long] as [T6] requires 4 days
[T3] -> [T6]
[T5] -> [T6]
[End] happens 1 day after [T6]'s end
@endgantt
|
Um die Position der Beschriftung zu ändern, können Sie den Befehl
label
verwenden:
Etikett in der ersten Spalte
🎉 Copied!
|
@startgantt
Label on first column and left aligned
[Task1] requires 1 days
then [Task2_long_long_long] as [T2] requires 2 days
-- Phase Two --
then [Task3] as [T3] requires 2 days
[Task4] as [T4] requires 1 day
[Task5] as [T5] requires 2 days
[T2] -> [T4]
[T2] -> [T5]
[Task6_long_long_long] as [T6] requires 4 days
[T3] -> [T6]
[T5] -> [T6]
[End] happens 1 day after [T6]'s end
@endgantt
|
🎉 Copied!
|
@startgantt
Label on first column and right aligned
[Task1] requires 1 days
then [Task2_long_long_long] as [T2] requires 2 days
-- Phase Two --
then [Task3] as [T3] requires 2 days
[Task4] as [T4] requires 1 day
[Task5] as [T5] requires 2 days
[T2] -> [T4]
[T2] -> [T5]
[Task6_long_long_long] as [T6] requires 4 days
[T3] -> [T6]
[T5] -> [T6]
[End] happens 1 day after [T6]'s end
@endgantt
|
Etikett### in der letzten Spalte
🎉 Copied!
|
@startgantt
Label on last column and left aligned
[Task1] requires 1 days
then [Task2_long_long_long] as [T2] requires 2 days
-- Phase Two --
then [Task3] as [T3] requires 2 days
[Task4] as [T4] requires 1 day
[Task5] as [T5] requires 2 days
[T2] -> [T4]
[T2] -> [T5]
[Task6_long_long_long] as [T6] requires 4 days
[T3] -> [T6]
[T5] -> [T6]
[End] happens 1 day after [T6]'s end
@endgantt
|
🎉 Copied!
|
@startgantt
Label on last column and right aligned
[Task1] requires 1 days
then [Task2_long_long_long] as [T2] requires 2 days
-- Phase Two --
then [Task3] as [T3] requires 2 days
[Task4] as [T4] requires 1 day
[Task5] as [T5] requires 2 days
[T2] -> [T4]
[T2] -> [T5]
[Task6_long_long_long] as [T6] requires 4 days
[T3] -> [T6]
[T5] -> [T6]
[End] happens 1 day after [T6]'s end
@endgantt
|
[Ref. QA-12433]