Technology • 2024-07-28
Python Data Visualization for Beginners: Matplotlib & Seaborn Guide
Learn Python data visualization from scratch — line charts, bar graphs, heatmaps, and scatter plots using Matplotlib and Seaborn.
PythonData VisualizationMatplotlibTechnology
⏱ 1 min read
Why Data Visualization Matters
Data visualization transforms raw numbers into visual insights. Python's Matplotlib and Seaborn are the most widely used libraries for data viz — in data science, finance, research, and business analytics. Used extensively in Indian IT companies and analytics roles.
Setting Up
pip install matplotlib seaborn pandas numpy
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
Line Chart with Matplotlib
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
sales = [12000, 15000, 13500, 18000, 21000, 19000]
plt.figure(figsize=(10, 6))
plt.plot(months, sales, marker='o', color='royalblue', linewidth=2)
plt.title('Monthly Sales 2024', fontsize=16)
plt.xlabel('Month')
plt.ylabel('Sales (₹)')
plt.grid(True, alpha=0.3)
plt.tight_layout()
plt.show()
Bar Chart
categories = ['Electronics', 'Fashion', 'Food', 'Books', 'Home']
values = [45000, 32000, 28000, 15000, 38000]
plt.figure(figsize=(10, 6))
plt.bar(categories, values, color=['#2196F3', '#4CAF50', '#FF9800', '#9C27B0', '#F44336'])
plt.title('Sales by Category')
plt.ylabel('Revenue (₹)')
plt.show()
Seaborn Heatmap
# Correlation heatmap
df = pd.DataFrame(np.random.randn(100, 5), columns=['A','B','C','D','E'])
correlation = df.corr()
plt.figure(figsize=(8, 6))
sns.heatmap(correlation, annot=True, cmap='coolwarm', center=0)
plt.title('Correlation Matrix')
plt.show()
Scatter Plot
x = np.random.normal(170, 10, 200) # Height
y = np.random.normal(65, 8, 200) # Weight
plt.figure(figsize=(8, 6))
plt.scatter(x, y, alpha=0.6, color='steelblue')
plt.xlabel('Height (cm)')
plt.ylabel('Weight (kg)')
plt.title('Height vs Weight Scatter Plot')
plt.show()
Saving Charts
# Save as PNG (for reports) or SVG (for web)
plt.savefig('chart.png', dpi=300, bbox_inches='tight')
plt.savefig('chart.svg', format='svg')