Polar Chart

Weekly Productivity Wheel

Daily activity distribution in circular format with vibrant fills

Output
Weekly Productivity Wheel
Python
import matplotlib.pyplot as plt
import numpy as np

days = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
activity = [75, 82, 78, 85, 70, 45, 35]

angles = np.linspace(0, 2 * np.pi, len(days), endpoint=False)
width = 2 * np.pi / len(days) * 0.8

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

colors = ['#F5276C', '#F54927', '#F5B027', '#6CF527', '#27D3F5', '#4927F5', '#F527B0']

bars = ax.bar(angles, activity, width=width, bottom=10, alpha=0.8)
for bar, color in zip(bars, colors):
    bar.set_facecolor(color)
    bar.set_edgecolor('white')
    bar.set_linewidth(1.5)

ax.set_xticks(angles)
ax.set_xticklabels(days, fontsize=12, 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('Weekly Productivity Wheel', 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