Polar Chart

SaaS KPI Tracker

Key business indicators with neon startup aesthetic

Output
SaaS KPI Tracker
Python
import matplotlib.pyplot as plt
import numpy as np

metrics = ['MRR', 'Churn', 'CAC', 'LTV', 'NPS', 'Growth']
current = [85, 72, 68, 90, 78, 88]
benchmark = [80, 80, 80, 80, 80, 80]

current += current[:1]
benchmark += benchmark[:1]
angles = np.linspace(0, 2 * np.pi, len(metrics), endpoint=False).tolist()
angles += angles[:1]

fig, ax = plt.subplots(figsize=(10, 10), subplot_kw=dict(polar=True), facecolor='#0a0a0f')
ax.set_facecolor('#0a0a0f')

ax.plot(angles, benchmark, color='#555555', linewidth=2, linestyle='--', alpha=0.7)

for lw, alpha in [(10, 0.1), (6, 0.2), (3, 0.4)]:
    ax.plot(angles, current, color='#6CF527', linewidth=lw, alpha=alpha)
ax.plot(angles, current, color='#6CF527', linewidth=2)
ax.fill(angles, current, color='#6CF527', alpha=0.2)

ax.set_xticks(angles[:-1])
ax.set_xticklabels(metrics, fontsize=11, color='white', fontweight='500')
ax.set_ylim(0, 100)
ax.set_yticks([25, 50, 75, 100])
ax.set_yticklabels(['', '', '', ''], fontsize=9)
ax.spines['polar'].set_color('#555555')
ax.grid(color='#555555', linewidth=0.8, alpha=0.7)
ax.set_title('SaaS KPI Tracker', fontsize=16, color='white', fontweight='bold', pad=20, y=1.08)

plt.tight_layout()
plt.show()
Library

Matplotlib

Category

Part-to-Whole

Did this help you?

Support PyLucid to keep it free & growing

Support