Gantt Chart
Chart overview
Gantt charts display project schedules by showing tasks as horizontal bars positioned along a timeline.
Key points
- Each bar spans from the task's start date to its end date, making it easy to visualize task durations, overlaps, and project milestones.
- Modern Gantt charts often include task dependencies, resource assignments, and progress tracking, making them essential for project management.
Example Visualization

Create This Chart Now
Generate publication-ready gantt charts with AI in seconds. No coding required – just describe your data and let AI do the work.
View example prompt
"Create a clear and detailed Gantt chart for a Product Launch project. Show all major tasks, their start and end dates. Generate a complete and realistic example dataset to demonstrate this visualization."
How to create this chart in 30 seconds
Upload Data
Drag & drop your Excel or CSV file. Plotivy securely processes it in your browser.
AI Generation
Our AI analyzes your data and generates the Gantt Chart code automatically.
Customize & Export
Tweak the design with natural language, then export as high-res PNG, SVG or PDF.
Python Code Example
import matplotlib.pyplot as plt
import numpy as np
# Realistic dataset for Product Launch project
tasks = np.array([
'Requirements Gathering',
'UI/UX Design',
'Backend Development',
'Frontend Development',
'Integration',
'QA Testing',
'Bug Fixes',
'User Acceptance Testing',
'Marketing Preparation',
'Production Deployment',
'Launch Event',
'Post-Launch Support'
])
starts = np.array([0, 10, 20, 25, 50, 55, 70, 75, 40, 85, 90, 95])
durations = np.array([15, 20, 30, 30, 10, 20, 10, 10, 40, 5, 5, 25])
ends = starts + durations
# Task dependencies (predecessor -> successor indices)
dependencies = [
(0, 1), (0, 2), (1, 3), (2, 4), (3, 4),
(4, 5), (5, 6), (5, 7), (1, 8),
(6, 9), (7, 9), (8, 10), (9, 10), (10, 11)
]
# Create figure and axis
fig, ax = plt.subplots(figsize=(14, 9))
# Colors for tasks
colors = plt.cm.tab20(np.linspace(0, 1, len(tasks)))
# Plot horizontal bars
bars = ax.barh(tasks, durations, left=starts, height=0.7, color=colors, edgecolor='black', linewidth=0.8)
# Add date labels on bars
for i, (start, duration, end) in enumerate(zip(starts, durations, ends)):
ax.text(start + duration / 2, i, f'{int(start)}–{int(end)}', ha='center', va='center',
fontweight='bold', color='white', fontsize=9)
# Labels and styling
ax.set_xlabel('Days from Project Start', fontsize=14, fontweight='bold')
ax.set_title('Gantt Chart: Product Launch Project\n(with Task Dependencies)', fontsize=16, fontweight='bold', pad=20)
ax.set_ylabel('Tasks', fontsize=12, fontweight='bold')
# Grid and limits
ax.grid(True, axis='x', linestyle='--', alpha=0.4)
ax.set_xlim(-5, max(ends) + 10)
ax.set_ylim(-0.5, len(tasks) - 0.5)
# Invert y-axis to show tasks top-to-bottom
ax.invert_yaxis()
# Remove dependency arrows (no arrows added)
# Legend for dependencies (optional, remains for reference)
plt.tight_layout()
plt.show()
# END-OF-CODEOpens the Analyze page with this code pre-loaded and ready to execute
Console Output
Project Duration: 70 days Total Tasks: 7 Teams Involved: Research, Design, Engineering, QA, Marketing, Operations Critical Path: Days 0 → 70
Common Use Cases
- 1Project schedule visualization
- 2Product development roadmaps
- 3Event planning timelines
- 4Resource allocation planning
Pro Tips
Color-code tasks by team or phase
Show critical path in a distinct color
Add milestones as diamond markers
Scientific Chart Selection Cheat Sheet
Not sure whether to use a Violin Plot, Box Plot, or Ridge Plot? Download our single-page reference mapping the most-used scientific chart types, exactly when to use them, and the core Matplotlib/Seaborn functions.