Radar Chart
Competitor Brand Positioning Analysis
Radar chart comparing competing brands across key market positioning factors including brand awareness, product quality, pricing perception, and customer service.
Output
Python
import matplotlib.pyplot as plt
import numpy as np
# Brand positioning dimensions
categories = ['Brand Awareness', 'Product Quality', 'Price Perception',
'Customer Service', 'Innovation', 'Sustainability',
'Distribution', 'Social Media Presence']
brand_a = [95, 88, 70, 85, 90, 75, 92, 88] # Market leader
brand_b = [78, 92, 85, 90, 75, 88, 80, 72] # Quality focused
brand_c = [70, 75, 95, 70, 65, 60, 88, 65] # Value brand
brand_d = [65, 80, 78, 82, 95, 92, 60, 95] # Innovator
N = len(categories)
angles = np.linspace(0, 2 * np.pi, N, endpoint=False).tolist()
angles += angles[:1]
brand_a += brand_a[:1]
brand_b += brand_b[:1]
brand_c += brand_c[:1]
brand_d += brand_d[:1]
fig, ax = plt.subplots(figsize=(10, 10), subplot_kw=dict(polar=True), facecolor='#ffffff')
ax.set_facecolor('#ffffff')
ax.plot(angles, brand_a, 'o-', linewidth=2.5, color='#F5276C', label='Brand A (Leader)', markersize=7)
ax.fill(angles, brand_a, alpha=0.1, color='#F5276C')
ax.plot(angles, brand_b, 's-', linewidth=2.5, color='#27D3F5', label='Brand B (Quality)', markersize=7)
ax.fill(angles, brand_b, alpha=0.1, color='#27D3F5')
ax.plot(angles, brand_c, '^-', linewidth=2.5, color='#F5B027', label='Brand C (Value)', markersize=7)
ax.fill(angles, brand_c, alpha=0.1, color='#F5B027')
ax.plot(angles, brand_d, 'D-', linewidth=2.5, color='#6CF527', label='Brand D (Innovator)', markersize=7)
ax.fill(angles, brand_d, alpha=0.1, color='#6CF527')
ax.set_xticks(angles[:-1])
ax.set_xticklabels(categories, fontsize=10, color='#374151', fontweight='500')
ax.set_ylim(0, 100)
ax.yaxis.grid(True, color='#e5e7eb', linestyle='-', linewidth=0.8)
ax.xaxis.grid(True, color='#d1d5db', linestyle='-', linewidth=0.5)
ax.spines['polar'].set_color('#d1d5db')
ax.set_title('Competitor Brand Positioning Map', fontsize=16, color='#1f2937',
fontweight='bold', pad=25)
ax.legend(loc='upper right', bbox_to_anchor=(1.22, 1.1), fontsize=10,
frameon=True, facecolor='white', edgecolor='#e5e7eb')
plt.tight_layout()
plt.show()
Library
Matplotlib
Category
Polar Charts
☕