import matplotlib.pyplot as plt from matplotlib.patches import Circle # Parameters for the schedule days = 30 time_schedule = [ "00:20", "00:20", "00:30", "00:30", "00:40", "REST", "00:45", "00:45", "01:00", "01:00", "01:30", "01:30", "REST", "01:30", "01:30", "02:00", "02:00", "02:00", "02:30", "REST", "02:30", "02:30", "03:00", "03:00", "03:00", "REST", "03:30", "04:00", "04:30", "05:00" ] # Create figure and axis fig, ax = plt.subplots(figsize=(8, 10)) # Set limits and hide axes ax.set_xlim(0, 5) ax.set_ylim(0, 7) ax.axis('off') # Draw the schedule for i in range(days): row = i // 5 col = i % 5 y = 6 - row x = col # Draw circle circle = Circle((x, y), 0.4, edgecolor='gray', facecolor='white') ax.add_patch(circle) # Add time text if time_schedule[i] == "REST": ax.text(x, y, time_schedule[i], ha='center', va='center', fontsize=12, color='lightcoral') else: ax.text(x, y, time_schedule[i], ha='center', va='center', fontsize=12) # Add day text ax.text(x, y - 0.6, f"day {i + 1}", ha='center', va='center', fontsize=10, color='gray') # Add final congratulatory message ax.text(0, -0.5, "I DID IT!", ha='center', va='center', fontsize=14, color='lightcoral') # Show plot plt.show()