Radar Chart

VR Headset Performance Comparison

Dark-themed radar chart comparing VR headsets across display quality, tracking accuracy, comfort, content library, and price value.

Output
VR Headset Performance Comparison
Python
import matplotlib.pyplot as plt
import numpy as np

# VR headset features
categories = ['Display Quality', 'Tracking Accuracy', 'Comfort', 'Content Library',
              'Wireless Freedom', 'Controllers', 'Price Value', 'Enterprise Features']
              
quest3 = [88, 90, 92, 90, 98, 88, 95, 70]
vision_pro = [98, 95, 80, 60, 85, 80, 40, 85]
psvr2 = [92, 88, 85, 75, 50, 92, 85, 30]
valve = [95, 98, 75, 85, 45, 95, 60, 55]

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

quest3 += quest3[:1]
vision_pro += vision_pro[:1]
psvr2 += psvr2[:1]
valve += valve[:1]

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

ax.plot(angles, quest3, 'o-', linewidth=2.5, color='#27D3F5', label='Meta Quest 3', markersize=7)
ax.fill(angles, quest3, alpha=0.15, color='#27D3F5')

ax.plot(angles, vision_pro, 's-', linewidth=2.5, color='#F5276C', label='Apple Vision Pro', markersize=7)
ax.fill(angles, vision_pro, alpha=0.15, color='#F5276C')

ax.plot(angles, psvr2, '^-', linewidth=2.5, color='#276CF5', label='PlayStation VR2', markersize=7)
ax.fill(angles, psvr2, alpha=0.15, color='#276CF5')

ax.plot(angles, valve, 'D-', linewidth=2.5, color='#6CF527', label='Valve Index', markersize=7)
ax.fill(angles, valve, 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('VR Headset Comparison', fontsize=16, color='#f8fafc',
             fontweight='bold', pad=25)

ax.legend(loc='upper right', bbox_to_anchor=(1.25, 1.1), fontsize=10,
          frameon=True, facecolor='#1e293b', edgecolor='#334155', labelcolor='#e2e8f0')

plt.tight_layout()
plt.show()
Library

Matplotlib

Category

Polar Charts

Did this help you?

Support PyLucid to keep it free & growing

Support