This project generates a MatPlotLib Gantt chart from an CSV file generated using s4f-notion-gantt.
-
Clone the repository:
git clone https://github.com/Snow4Flow/s4f-gantt-plotter.git cd s4f-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 CSV file using s4f-notion-gantt.
-
Copy the generated CSV file to the data/ directory
(venv) s4f-notion-gantt % cp timeline.csv ../s4f-notion-gantt/data/- 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