- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Basic Gantt Chart Using Python Matplotlib
Project management could be a complex endeavor that requires cautious arranging, organization, and following of errands and timelines. Gantt charts have long been a staple in extended administration, giving a visual representation of venture plans, errand lengths, and conditions. These charts empower venture directors and groups to successfully arrange, screen, and communicate extend advance.
In this article, we'll set out on a travel to make essential basic fundamental essential Synonyms Gantt charts utilizing the effective Python library, Matplotlib. By leveraging Matplotlib's plotting capabilities, we will make energetic and instructive Gantt charts that upgrade and extend visualization and decision-making.
Basic Gantt Chart Using Python Matplotlib
Gantt charts are crucial apparatuses for venture supervisors, permitting them to outline extended plans and track assignment execution over time. Python, with its broad environment of libraries, offers a flexible arrangement for making Gantt charts. Matplotlib, one of the foremost prevalent information visualization libraries in Python, gives a strong stage for producing customizable Gantt charts. With Matplotlib, ready to effectively plot errands, set terms, and visualize venture timelines with clarity and exactness. Whether it's for individual ventures, group collaborations, or professional project management, acing the creation of essential Gantt charts utilizing Python Matplotlib may be an important aptitude.
Approach 1: Python – Basic Gantt Chart using Python Matplotlib using Horizonal Bar Plots
In this approach, we are going to utilize the horizontal bar plots of Matplotlib to make a Gantt chart. We are going to plot each errand as a flat bar with its beginning and finishing dates.
Algorithm
Step 1 − Import the necessary libraries: Matplotlib and NumPy.
Step 2 − Create the data for the Gantt chart, including the task names, start dates, and duration.
Step 3 − Initialize the figure and axis for the chart.
Step 4 − Set the y-axis tick labels as task names.
Step 5 − Loop through the tasks and plot each task as a horizontal bar.
Step 6 − Set the x-axis limits according to the start and end dates of the tasks.
Step 7 − Customize the chart with appropriate labels, titles, and gridlines.
Step 8 − Display the Gantt chart using ‘plt.show()’.
Example
import matplotlib.pyplot as plt import numpy as np import pandas as pd import matplotlib.dates as mdates # Step 2: Create the data for the Gantt chart tasks = ['Task 1', 'Task 2', 'Task 3', 'Task 4'] start_dates = ['2023-06-01', '2023-06-03', '2023-06-06', '2023-06-09'] durations = [3, 4, 2, 5] # Step 3: Initialize the figure and axis fig, ax = plt.subplots() # Step 4: Set y-axis tick labels ax.set_yticks(np.arange(len(tasks))) ax.set_yticklabels(tasks) # Step 5: Plot each task as a horizontal bar for i in range(len(tasks)): start_date = pd.to_datetime(start_dates[i]) end_date = start_date + pd.DateOffset(days=durations[i]) ax.barh(i, end_date - start_date, left=start_date, height=0.5, align='center') # Step 6: Set x-axis limits min_date = pd.to_datetime(min(start_dates)) max_date = pd.to_datetime(max(start_dates)) + pd.DateOffset(days=max(durations)) ax.set_xlim(min_date, max_date) # Step 7: Customize the chart ax.xaxis_date() ax.xaxis.set_major_locator(mdates.WeekdayLocator()) ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d')) ax.set_xlabel('Date') ax.set_ylabel('Tasks') ax.set_title('Basic Gantt Chart') # Step 8: Display the chart plt.grid(True) plt.show()
Output

Approach 2: Python – Basic Gantt Chart using Python Matplotlib using Seaborn’s Barplot
In this approach, we'll use the Seaborn library, which is built on best of Matplotlib, to form the Gantt chart. We'll utilize the barplot() work of Seaborn, which gives a high-level interface to make bar plots.
Algorithm
Step 1 − Import the necessary libraries: Seaborn and Pandas.
Step 2 − Create a Pandas Data Frame to hold the task data, including task names, start dates, and duration
Step 3 − Initialize the figure and axis for the chart.
Step 4 − Use Seaborn's barplot() function to create the Gantt chart.
Step 5 − Customize the chart with appropriate labels, titles, and grid lines.
Step 6 − Display the Gantt chart using plt.show().
Example
import seaborn as sns import pandas as pd import matplotlib.pyplot as plt import matplotlib.dates as mdates # Step 2: Create the data for the Gantt chart data = { 'Tasks': ['Task 1', 'Task 2', 'Task 3', 'Task 4'], 'Start Dates': ['2023-06-01', '2023-06-03', '2023-06-06', '2023-06-09'], 'Durations': [3, 4, 2, 5] } df = pd.DataFrame(data) # Convert 'Start Dates' to numeric duration values df['Start Dates'] = mdates.datestr2num(df['Start Dates']) # Step 3: Initialize the figure and axis fig, ax = plt.subplots() # Step 4: Create the Gantt chart sns.barplot(data=df, x='Start Dates', y='Tasks', hue='Durations', ax=ax) # Step 5: Customize the chart ax.set_xlabel('Date') ax.set_ylabel('Tasks') ax.set_title('Basic Gantt Chart') ax.grid(True) # Step 6: Display the chart plt.show()
Output

Conclusion
In this article, we explored three different approaches to creating a simple Gantt chart using Python's Matplotlib library. The first approach used horizontal bar charts, the second approach used Seaborn's Barplot functionality, and the third approach used Plotly Express to create interactive charts.