Radar Chart

Digital Marketing Channel Effectiveness

Radar chart comparing digital marketing channels across key performance metrics including reach, engagement, conversion rate, cost efficiency, and targeting precision.

Output
Digital Marketing Channel Effectiveness
Python
import matplotlib.pyplot as plt
import numpy as np

# Marketing channel metrics
categories = ['Reach', 'Engagement', 'Conversion Rate', 'Cost Efficiency',
              'Targeting Precision', 'Brand Building', 'Measurability', 'Speed to Market']
              
social_media = [95, 92, 65, 75, 88, 85, 90, 95]
email = [70, 75, 90, 92, 85, 60, 95, 88]
seo = [88, 60, 80, 95, 70, 90, 85, 40]
ppc = [92, 55, 85, 65, 92, 50, 98, 92]
influencer = [85, 95, 70, 55, 75, 92, 70, 80]

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

social_media += social_media[:1]
email += email[:1]
seo += seo[:1]
ppc += ppc[:1]
influencer += influencer[:1]

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

ax.plot(angles, social_media, 'o-', linewidth=2.5, color='#276CF5', label='Social Media', markersize=6)
ax.fill(angles, social_media, alpha=0.08, color='#276CF5')

ax.plot(angles, email, 's-', linewidth=2.5, color='#F5276C', label='Email Marketing', markersize=6)
ax.fill(angles, email, alpha=0.08, color='#F5276C')

ax.plot(angles, seo, '^-', linewidth=2.5, color='#6CF527', label='SEO/Organic', markersize=6)
ax.fill(angles, seo, alpha=0.08, color='#6CF527')

ax.plot(angles, ppc, 'D-', linewidth=2.5, color='#F5B027', label='PPC Ads', markersize=6)
ax.fill(angles, ppc, alpha=0.08, color='#F5B027')

ax.plot(angles, influencer, 'p-', linewidth=2.5, color='#5314E6', label='Influencer', markersize=7)
ax.fill(angles, influencer, alpha=0.08, color='#5314E6')

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('Digital Marketing Channel Comparison', fontsize=16, color='#1f2937',
             fontweight='bold', pad=25)

ax.legend(loc='upper right', bbox_to_anchor=(1.25, 1.1), fontsize=9,
          frameon=True, facecolor='white', edgecolor='#e5e7eb')

plt.tight_layout()
plt.show()
Library

Matplotlib

Category

Polar Charts

Did this help you?

Support PyLucid to keep it free & growing

Support