Matplotlib: Practical Applications in Data Analysis

Learn to Code Today!

Learn 10x faster: coding, no-code and data skills. Join millions of users mastering new tech skills and accelerating their career with Enki.
Get started

In this article, we look at examples of using Matplotlib to transform complex data into clear insights, aiding decision-making in areas like business performance, investment strategies, and customer behaviour.

What You'll Learn:

  • How to analyze business performance with visualizations
  • Ways to track investment strategies
  • Methods for understanding customer behavior
  • Techniques for effective data comparison

Let's explore real-world applications of data visualization!

Business Performance Analysis 📈

Tracking business performance over time is essential for making informed decisions. By visualizing sales and costs across multiple months, businesses can identify trends, compare revenue against expenses, and plan for future growth. Here's a simple visualization that tracks monthly business performance:

import matplotlib.pyplot as plt

# Monthly business data
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
sales = [10000, 11500, 12100, 15000, 16500, 18000]
costs = [8000, 9000, 9500, 11000, 12000, 13000]

# Create professional plot
plt.style.use('seaborn')
plt.figure(figsize=(10, 6))

plt.plot(months, sales, 'o-', linewidth=2, label='Sales')
plt.plot(months, costs, 's--', linewidth=2, label='Costs')

plt.title('Business Performance', fontsize=14, pad=15)
plt.grid(True, alpha=0.3)
plt.legend()
plt.show()

We use a line chart to plot sales and costs over several months, visualising trends to better understand the relationship between revenue and expenses.

Business Performance

Investment Strategy Comparison 💰

Investors often compare different strategies to determine which approach provides the best returns. By visualizing investment growth over time for conservative, moderate, and aggressive strategies, we can see how different risk levels impact financial outcomes. Let's take a look:

# Create data for different investment strategies
years = np.arange(2015, 2024)
conservative = 100 * (1.05)**np.arange(9)  # 5% growth
moderate = 100 * (1.08)**np.arange(9)      # 8% growth
aggressive = 100 * (1.12)**np.arange(9)    # 12% growth

plt.figure(figsize=(10, 6))
plt.plot(years, conservative, 'b-', label='Conservative (5%)')
plt.plot(years, moderate, 'g--', label='Moderate (8%)')
plt.plot(years, aggressive, 'r:', label='Aggressive (12%)')

plt.legend(title='Investment Strategies',
          loc='upper left')
plt.grid(True, linestyle='--', alpha=0.7)
plt.title('Investment Growth Comparison')
plt.show()

We use a line chart to compare the growth of different investment strategies over time, illustrating how different risk levels affect financial outcomes.

Product Sales Analysis 📊

Understanding product sales distribution is key to optimizing inventory and marketing efforts. A bar chart can quickly show which products are performing well and which might need attention. Here's a visualization comparing different product sales:

# Sales by product
products = ['Laptop', 'Phone', 'Tablet', 'Watch']
sales = [100, 80, 40, 30]

plt.bar(products, sales,
        color='skyblue',     # Bar color
        width=0.6,           # Bar width
        align='center',      # Alignment
        alpha=0.7)           # Transparency

plt.title("Product Sales")
plt.xlabel("Product")
plt.ylabel("Units Sold")
plt.grid(True, axis='y')
plt.show()

A bar chart is used to compare sales across different products, helping to identify top-performing items and those needing attention.

Student Performance Insights 📚

Education researchers and teachers often analyze how study habits impact student performance. By plotting study hours against test scores and incorporating stress levels as a color scale, we can gain insights into student success factors. Here's how it looks:

# Student data: hours studied, score, stress level
hours = [2, 3, 1, 4, 2, 3, 5]
scores = [65, 75, 55, 85, 60, 72, 95]
stress = [3, 4, 2, 5, 3, 4, 5]  # 1-5 scale

plt.scatter(hours, scores,
           c=stress,           # Color based on stress
           cmap='RdYlGn_r',    # Red-Yellow-Green (reversed)
           s=100)              # Fixed size

plt.colorbar(label='Stress Level')
plt.title("Study Time vs. Test Scores")
plt.xlabel("Hours Studied")
plt.ylabel("Test Score")
plt.show()

We use a scatter plot to examine the relationship between study hours and test scores, with stress levels represented by colour, providing insights into student success factors.

Key Takeaways 🎯

  1. Line plots excel at showing trends over time (business performance, investments)
  2. Bar charts are perfect for comparing categories (product sales)
  3. Scatter plots reveal relationships between variables (study time vs. scores)
  4. Color and style choices can add extra dimensions to your data

Ready to create your own data visualizations? Join Enki today and master Matplotlib through interactive lessons and real-world projects!

About Enki

  • Fully personalized online up-skilling
  • Unlimited AI coaching
  • Designed by Silicon Valley experts

More articles

Meet your AI-enabled coach

Professional athletes have a coach for every aspect of their performance. Why can’t you for your work? Enki’s AI-powered coaching on-demand - combined with state of the art, structured learning content - makes this a reality.
1
1:1 AI Coaching
How do I remove duplicate emails?
Convert the list to a set and back to a list. Sets automatically remove duplicates.
2
Personalized Exercises
3
Interactive practice

Unlock full access to all skills on Enki with a 7-day free trial

Get started