import matplotlib.pyplot as plt import numpy as np # Sample survey responses with updated skills survey_responses = { 'Python': 3, # Intermediate 'Java/Scala': 2, # Beginner 'SQL': 4, # Advanced 'Shell Scripting': 1, # No Experience 'Relational Database Design': 3, # Intermediate 'Data Warehousing Concepts': 2, # Beginner 'Data Lake Architecture': 3, # Intermediate 'ETL Tools': 1, # No Experience 'Data Transformation Techniques': 4, # Advanced 'Hadoop Ecosystem': 2, # Beginner 'Apache Spark': 3, # Intermediate 'Kafka': 1, # No Experience 'AWS': 4, # Advanced 'Google Cloud Platform': 2, # Beginner 'Azure': 3, # Intermediate 'Data Privacy Regulations': 3, # Intermediate 'Data Encryption and Security Protocols': 2, # Beginner 'Machine Learning Algorithms': 3, # Intermediate 'Analytical Tools': 4, # Advanced 'Agile Methodologies': 2, # Beginner 'Team Collaboration Tools': 3, # Intermediate 'Documentation Skills': 4, # Advanced 'Troubleshooting Data Pipeline Issues': 3, # Intermediate 'Optimizing Data Storage and Retrieval': 4, # Advanced 'Keeping Up with Industry Trends': 3, # Intermediate 'Professional Development': 2 # Beginner } # List of skills labels = list(survey_responses.keys()) num_vars = len(labels) # Compute angle for each axis angles = np.linspace(0, 2 * np.pi, num_vars, endpoint=False).tolist() # The plot is a circle, so we need to "complete the loop" # and append the start to the end. values = list(survey_responses.values()) values += values[:1] angles += angles[:1] # Setup the radar chart fig, ax = plt.subplots(figsize=(10, 10), subplot_kw=dict(polar=True)) # Draw the outline of the spider diagram ax.fill(angles, values, color='blue', alpha=0.25) ax.plot(angles, values, color='blue', linewidth=2) # Draw one axe per variable and add labels ax.set_yticklabels([]) ax.set_xticks(angles[:-1]) ax.set_xticklabels(labels) # Show the radar chart plt.title('Data Engineer Skills Assessment', size=20, color='blue', y=1.1) plt.show()