Radar Chart
Restaurant Experience Quality Analysis
Dark-themed radar chart comparing restaurant types across food quality, service, ambiance, value, and overall experience.
Output
Python
import matplotlib.pyplot as plt
import numpy as np
# Restaurant experience factors
categories = ['Food Quality', 'Service Speed', 'Staff Friendliness', 'Ambiance',
'Value for Money', 'Portion Size', 'Menu Variety', 'Cleanliness']
fine_dining = [98, 60, 92, 98, 55, 65, 70, 98]
fast_casual = [75, 95, 80, 70, 90, 85, 78, 85]
food_truck = [85, 88, 90, 50, 95, 80, 55, 75]
family_style = [82, 75, 95, 78, 88, 95, 85, 88]
N = len(categories)
angles = np.linspace(0, 2 * np.pi, N, endpoint=False).tolist()
angles += angles[:1]
fine_dining += fine_dining[:1]
fast_casual += fast_casual[:1]
food_truck += food_truck[:1]
family_style += family_style[:1]
fig, ax = plt.subplots(figsize=(10, 10), subplot_kw=dict(polar=True), facecolor='#0a0a0f')
ax.set_facecolor('#0a0a0f')
ax.plot(angles, fine_dining, 'o-', linewidth=2.5, color='#F5D327', label='Fine Dining', markersize=7)
ax.fill(angles, fine_dining, alpha=0.15, color='#F5D327')
ax.plot(angles, fast_casual, 's-', linewidth=2.5, color='#F54927', label='Fast Casual', markersize=7)
ax.fill(angles, fast_casual, alpha=0.15, color='#F54927')
ax.plot(angles, food_truck, '^-', linewidth=2.5, color='#27D3F5', label='Food Truck', markersize=7)
ax.fill(angles, food_truck, alpha=0.15, color='#27D3F5')
ax.plot(angles, family_style, 'D-', linewidth=2.5, color='#6CF527', label='Family Style', markersize=7)
ax.fill(angles, family_style, alpha=0.15, color='#6CF527')
ax.set_xticks(angles[:-1])
ax.set_xticklabels(categories, fontsize=10, color='#e2e8f0', fontweight='500')
ax.set_ylim(0, 100)
ax.yaxis.grid(True, color='#1e293b', linestyle='-', linewidth=0.8)
ax.xaxis.grid(True, color='#334155', linestyle='-', linewidth=0.5)
ax.spines['polar'].set_color('#334155')
ax.tick_params(axis='y', colors='#94a3b8')
ax.set_title('Restaurant Experience Comparison', fontsize=16, color='#f8fafc',
fontweight='bold', pad=25)
ax.legend(loc='upper right', bbox_to_anchor=(1.2, 1.1), fontsize=10,
frameon=True, facecolor='#1e293b', edgecolor='#334155', labelcolor='#e2e8f0')
plt.tight_layout()
plt.show()
Library
Matplotlib
Category
Polar Charts
☕