Pie Chart

Home Renovation Spending

Light theme nested donut showing renovation budget breakdown

Output
Home Renovation Spending
Python
import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots(figsize=(10, 6), facecolor='#ffffff')
ax.set_facecolor('#ffffff')

# Outer ring - rooms
rooms = ['Kitchen', 'Bathroom', 'Living Room', 'Bedroom', 'Exterior']
room_budget = [35, 25, 18, 12, 10]
outer_colors = ['#0891b2', '#06b6d4', '#22d3ee', '#67e8f9', '#a5f3fc']

# Inner ring - expense types
expense_types = ['Materials', 'Labor', 'Design']
expense_budget = [45, 40, 15]
inner_colors = ['#d97706', '#f59e0b', '#fbbf24']

wedges1, texts1, autotexts1 = ax.pie(room_budget, labels=rooms, autopct='%1.0f%%',
                                      colors=outer_colors, radius=1, startangle=90,
                                      wedgeprops={'width': 0.35, 'edgecolor': 'white', 'linewidth': 2})

wedges2, texts2, autotexts2 = ax.pie(expense_budget, labels=expense_types, autopct='%1.0f%%',
                                      colors=inner_colors, radius=0.65, startangle=90,
                                      wedgeprops={'width': 0.3, 'edgecolor': 'white', 'linewidth': 2})

for text in texts1 + texts2:
    text.set_color('#1f2937')
    text.set_fontsize(9)
for autotext in autotexts1:
    autotext.set_color('white')
    autotext.set_fontweight('bold')
    autotext.set_fontsize(8)
for autotext in autotexts2:
    autotext.set_color('#7c2d12')
    autotext.set_fontweight('bold')
    autotext.set_fontsize(9)

ax.set_title('Home Renovation Spending', fontsize=16, fontweight='bold', color='#1f2937', pad=20)
plt.tight_layout()
Library

Matplotlib

Category

Basic Charts

Did this help you?

Support PyLucid to keep it free & growing

Support