Python | Diagramma di Gantt di base con Matplotlib

|

In questo articolo, discuteremo come creare un diagramma di Gantt in Python usando Matplotlib.

Diagramma di Gantt — è una rappresentazione grafica di una pianificazione di un progetto o di un’attività (nel sistema operativo). È un tipo di grafico a barre che mostra le date di inizio e fine di più elementi del progetto che includono risorse o una scadenza. Il primo diagramma di Gantt fu sviluppato a metà degli anni 1890 da Karol Adamiecki, un ingegnere polacco che gestiva un’acciaieria nel sud della Polonia e si interessò alle idee e ai metodi di gestione. Circa 15 anni dopo Adametsky, l’ingegnere americano e consulente per la gestione dei progetti Henry Gantt sviluppò la sua versione del diagramma, che divenne noto come Diagramma di Gantt.

Alcuni usi dei diagrammi di Gantt:

  • Pianificazione di un progetto.
  • Pianificazione delle attività sui processori

Di seguito è riportato un esempio di diagramma di Gantt per la pianificazione delle attività:

Utilizzeremo i tipi di grafico broken_barh disponibili in Matplotlib per disegnare diagrammi di Gantt.

Di seguito è riportato il codice per generare il diagramma di Gantt sopra:

# Import matplotlb.pyplot

import matplotlib.pyplot as plt


# Dichiarando il & quot; gnt & quot; shape

fig, gnt = plt. sottotrame ()


# Imposta i vincoli dell’asse Y

gnt.set_ylim ( 0 , 50 )


# Impostazione dei limiti dell’asse X

gnt.set_xlim ( 0 , 160 )


# Etichetta gli assi X e Y

< p> gnt.set_xlabel ( ’secondi dall’inizio’ ) p>

gn t.set_ylabel ( ’Processor’ )


# Impostazione delle caselle di controllo sull’asse Y

gnt.set_yticks ([ 15 , 25 , 35 ] )

# Axis label Y

gnt.set_yticklabels ([ code> ’1’ , ’ 2’ , ’3’ ])


# Impostazione dell’attributo della trama

gnt.grid ( True )


# Annuncio di una barra nella sche dule

gnt.broken_barh ([( 40 , 50 )], ( 30 , 9 ), facecolors = ( ’tab: orange’ ))


# Dichiara più barre dello stesso livello e della stessa larghezza

gnt.broken_barh ( [( 110 , 10 ), ( 150 , 10 < codice classe ="semplice ">)], ( 10 , 9 ),

facecolors = ’tab: blue’ )

< /p>

gnt.broken_barh ([( 10 , 50 ), ( 100 , 20 ), ( 130 , 10 )], ( 20 , 9 ),

facecolors = ( ’tab: red’ < /codice> ))

plt.savefig ( " gantt1.png " )

Diamo un’occhiata alle diverse parti del codice una alla volta:

  •  fig, gnt = plt.subplots () 

    Qui abbiamo dichiarato il numero "gnt" per il tracciamento.

  •  gnt.set_ylim (0, 50) gnt.set_xlim (0, 160) 

    Qui abbiamo dichiarato i limiti dell’asse X e dell’asse Y grafica. Per impostazione predefinita, il limite inferiore X e Y è 0 e il limite superiore su entrambi gli assi è 5 unità maggiore del valore X e del valore Y più alti.

  •  gnt.set_xlabel (’secondi dall’inizio’) gnt.set_ylabel (’ Processor’) 

    Qui abbiamo aggiunto etichette agli assi. Non ci sono tag per impostazione predefinita.

  •  gnt.set_yticks ([15, 25, 35]) gnt.set_yticklabels ([’1’,’ 2’, ’3’]) 

    Qui abbiamo aggiunto dei segni di spunta sull’asse Y. Possiamo anche contrassegnarli. Per impostazione predefinita, gli assi sono divisi equamente entro i limiti.

  •  gnt.grid (True) 

    Qui impostiamo grid() su True per mostrare le mesh. L’impostazione predefinita è Falso.

  •  gnt.broken_barh ([(40, 50)], (30, 9), facecolors = (’tab: orange’)) 

    Qui abbiamo aggiunto una colonna al grafico. In questo esempio, questa colonna rappresenta un’operazione che impiega da 40 a (40 + 50) = 90 secondi.

    Argomenti principali:

     gnt. broken_barh ([(start_time, durata)], (lower_yaxis, hieght), facecolors = (’tab: colors’)) 

    Il colore predefinito è il blu.

    Possiamo dichiarare più battute contemporaneamente:

     gnt.broken_barh ([(10, 50), (100, 20), (130, 10)], (20, 9) , facecolors = (’tab: red’)) 

    Possiamo anche aggiungere edgecolour impostando l’attributo "edgecolor" su qualsiasi colore.

  •  plt.savefig ("gantt1.png") 

    Abbiamo salvato la forma generata in un file png.

Aiuto: Esempio di documentazione Matplotlib di Broken Barsh