This project generates a Gantt chart from an Excel file.
- Clone the repository:
git clone https://github.com/anacds/gantt-plotter.git cd gantt-plotter - Create a virtual environment
python -m venv venv source venv/bin/activate - Install the dependencies
pip install -r requirements.txt
- Python 3.8+
- pandas
- matplotlib
- openpyxl
- mplcursors
-
Prepare your Excel file (
data/project_tasks.xlsx) with columns:- task_id, team, dependencies, task_group, task_description, start_date, end_date
-
Run the visualization:
python main.py- To save the chart, modify
output_pathinmain.py
Modify config/settings.py to customize:
# Chart appearance
TITLE = "Super Cool Project" # Chart title
BAR_COLOR = "#30C7DC" # Default bar color
TEAM_BAR_COLORS = { # Team-specific colors
"Technology": "#56778f",
"Business": "#91be6f",
"Finance": "#ff6e61",
"Marketing": "#f9c54e"
}
# Date formatting
DATE_FORMAT = '%Y-%m-%d' # Excel date format
# Typography
TITLE_SIZE = 12 # Chart title size
FONT_FAMILY = "sans-serif" # Base font family
FONT_COLOR = "#6C6C6C" # Text color.
├── README.md
├── config
│ ├── __init__.py
│ └── settings.py
├── data
│ └── project_tasks.xlsx
├── output
├── main.py
├── requirements.txt
└── src
└── utils
├── __init__.py
└── gantt_utils.py
load_tasks(): Loads and preprocesses Excel datagroup_tasks_by_group(): Organizes tasks by team and groupplot_gantt(): Generates the interactive visualizationbuild_week_ticks(): Creates dual-axis date markers