Przejdź do treści

#015 Wykres Gantta (Gantt chart)

  • Wykresy
  • 3 min read

Wykres Gantta wyświetla listę działań (lub zadań) wraz z ich długością trwania w czasie. W prosty sposób możesz odczytać, kiedy zaczyna się i kończy każde działanie. Dodatkowo od razu zobaczysz na nim równolegle wykonane zadania. I właśnie dlatego wykres ten jest przede wszystkim używany jako narzędzie do zarządzania projektami.

Wykres Gantta to rodzaj wykresu słupkowego / kolumnowego używanego do zilustrowania planów i harmonogramów. Wiersze przedstawiają działania, a kolumny są użyte jako skala czasu. Czas trwania każdej czynności jest reprezentowany przez długość słupka wykreślonego w tej skali czasu. Początek słupka to początek czynności, a koniec jego koniec to moment, w którym czynność powinna się zakończyć. Oznaczanie pasków kolorami umożliwia podzielenie działań na grupy. Aby pokazać procent ukończenia czynności, słupek można częściowo wypełnić, inaczej zacieniować lub użyć innego koloru, aby odróżnić to, co zostało zrobione, od tego, co pozostało do zrobienia.

wykres gantta
diagram gantta
https://github.com/maxwellbade/plotly_gantt_chart

W zależności od potrzeb na wykresie mogą znaleźć się dodatkowe oznaczenia. Dla przykładu:

  • strzałki łączące mogą służyć do pokazania, które zadania są od siebie zależne;
  • symbole (np. diament) może oznaczyć kamienie milowe; 
  • pionowa linia biegnąca przez wykres może posłużyć do podświetlenia bieżącej daty.

Historia

Wykres Gantta nazwany został na cześć jego wynalazcy, Henry’ego Gantta, który zaprojektował go po raz pierwszy w latach 1910–1915. Tuż po jego wprowadzeniu uznano to rozwiązanie za rewolucyjne. Natomiast ciekawostką jest to, że pierwsze znane narzędzie tego typu opracował w 1896 roku Karol Adamiecki. Nazwał je harmonogramem. Niestety Karol opublikował swoją wizualizację dopiero w 1931 roku i tylko w języku polskim. To ograniczyło zarówno jej przyjęcie, jak i uznanie jego autorstwa.Tak więc uczmy się na błędach z historii i zapamiętajmy: jak coś wymyślimy to trzeba podzielić się tym również po angielsku!

wykres gantta
diagram gantta

Wykres Gantta w Python

Możemy przykładowy wykres narysować, chociażby przy wykorzystaniu pakietu plotly. Wczytajmy dane (pobrać możesz je TUTAJ).

import pandas as pd
import plotly.express as px

df = pd.read_csv('../data/015.gantt.txt', parse_dates=['start', 'end'])

df.head()
dane pandas pod wykres gantta plotly python

Jak widzisz, w kolumnie przygotowałem nazwę zadania oraz datę startu i zakończenia. Teraz można wykorzystać wykres timeline:

fig = px.timeline(df, x_start="start", x_end="end", y="task")
fig.update_yaxes(autorange="reversed") 
fig.show()
wykres gantta plotly python

W prosty sposób możesz zróżnicować na wykresie kolory, by dla przykładu zróżnicować zadania dla zespołów:

fig = px.timeline(df, x_start="start", x_end="end", y="task", color="team")
fig.update_yaxes(autorange="reversed") 
fig.show()
wykres gantta plotly python

Mam nadzieję, że przyda Ci się ten wykres, jak będziesz chciał pokazać różne zadani, czy czas życia poszczególnych produktów, klientów czy sesji na osi czasu. Daj znać w komentarzu, czy widzisz jakieś zastosowanie u siebie!

Pozdrawiam z całego serducha,

podpis Mirek

Spodobało Ci się? Udostępnij ten post w social mediach! ❤️❤️❤️