📈 Matplotlib

Data Visualization

Matplotlib Basics

Matplotlib is Python's primary plotting library. Create publication-quality figures including line plots, bar charts, histograms, and more.

💻 Basic Plots

# pip install matplotlib
import matplotlib.pyplot as plt
import numpy as np

# Line plot
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.plot(x, y)
plt.title('Sine Wave')
plt.xlabel('X axis')
plt.ylabel('Y axis')
plt.show()

# Multiple lines
plt.plot(x, np.sin(x), label='sin(x)')
plt.plot(x, np.cos(x), label='cos(x)')
plt.legend()
plt.show()

# Scatter plot
x = np.random.rand(50)
y = np.random.rand(50)
plt.scatter(x, y, color='red', alpha=0.5)
plt.show()

📊 Charts & Customization

# Bar chart
categories = ['A', 'B', 'C', 'D']
values = [25, 40, 30, 55]
plt.bar(categories, values, color='skyblue')
plt.title('Bar Chart')
plt.show()

# Histogram
data = np.random.randn(1000)
plt.hist(data, bins=30, edgecolor='black')
plt.title('Histogram')
plt.show()

# Pie chart
sizes = [30, 25, 20, 25]
labels = ['A', 'B', 'C', 'D']
plt.pie(sizes, labels=labels, autopct='%1.1f%%')
plt.title('Pie Chart')
plt.show()

# Customize style
plt.style.use('seaborn-v0_8')
plt.figure(figsize=(10, 6))
plt.plot(x, y, linewidth=2, color='purple', linestyle='--')
plt.grid(True, alpha=0.3)
plt.show()

🔧 Subplots

# Multiple subplots
fig, axes = plt.subplots(2, 2, figsize=(10, 8))

# Plot 1
axes[0, 0].plot(x, np.sin(x))
axes[0, 0].set_title('Sin')

# Plot 2
axes[0, 1].plot(x, np.cos(x))
axes[0, 1].set_title('Cos')

# Plot 3
axes[1, 0].scatter(x, y)
axes[1, 0].set_title('Scatter')

# Plot 4
axes[1, 1].hist(data, bins=20)
axes[1, 1].set_title('Histogram')

plt.tight_layout()
plt.show()

# Save figure
plt.savefig('plot.png', dpi=300, bbox_inches='tight')

🎯 Key Takeaways