Calendar Heatmap

Bug Fixes Calendar

Daily bug fixes tracked in neon orange gradient showing debugging activity.

Output
Bug Fixes Calendar
Python
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.colors import LinearSegmentedColormap
import matplotlib.patches as mpatches

np.random.seed(124)

days = 365
bugs = np.random.poisson(3, days)
bugs = np.clip(bugs, 0, 12)
bugs[np.random.choice(days, size=50, replace=False)] = 0

weeks = 53
data = np.zeros((7, weeks))
for i, val in enumerate(bugs):
    week = i // 7
    day = i % 7
    if week < weeks:
        data[day, week] = val

# CLAUDE.md Neon Orange palette
colors_neon = ['#ffffff', '#fde5e0', '#f9917d', '#F54927']
cmap = LinearSegmentedColormap.from_list('neon_orange', colors_neon, N=256)

fig, ax = plt.subplots(figsize=(16, 4), facecolor='#ffffff')
ax.set_facecolor('#ffffff')

im = ax.imshow(data, cmap=cmap, aspect='auto', vmin=0, vmax=12)

ax.set_yticks(range(7))
ax.set_yticklabels(['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], fontsize=9, color='#374151')
ax.set_xticks(range(0, 52, 4))
ax.set_xticklabels(['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', ''], 
                   fontsize=9, color='#374151')

ax.set_title('Bug Fixes - Issues Resolved Per Day', fontsize=16, color='#1f2937', fontweight='bold', pad=15)

for i in range(8):
    ax.axhline(y=i-0.5, color='#e5e7eb', linewidth=0.5)
for i in range(weeks+1):
    ax.axvline(x=i-0.5, color='#e5e7eb', linewidth=0.5)

ax.tick_params(colors='#374151', length=0)
for spine in ax.spines.values():
    spine.set_visible(False)

legend_elements = [mpatches.Patch(facecolor=c, label=l, edgecolor='#d1d5db') 
                   for c, l in zip(colors_neon, ['0', '1-3', '4-8', '9+'])]
ax.legend(handles=legend_elements, loc='upper left', bbox_to_anchor=(0, -0.15), ncol=4, 
          fontsize=8, facecolor='#f9fafb', edgecolor='#d1d5db', labelcolor='#374151', title='Bugs Fixed',
          title_fontsize=9)

total = int(np.sum(bugs))
ax.annotate(f'{total} bugs squashed', xy=(0.98, 1.1), xycoords='axes fraction',
            fontsize=11, color='#F54927', ha='right', fontweight='bold')

plt.tight_layout()
plt.subplots_adjust(bottom=0.25)
plt.show()
Library

Matplotlib

Category

Time Series

Did this help you?

Support PyLucid to keep it free & growing

Support