Friday, September 5, 2025

thumbnail

Visualizing Data with Matplotlib and Seaborn

 ๐Ÿ“Š Visualizing Data with Matplotlib and Seaborn

๐Ÿ”ง Getting Started

๐Ÿ“ฆ Installation (if not already installed):

pip install matplotlib seaborn


๐Ÿ“š Import the libraries:

import matplotlib.pyplot as plt

import seaborn as sns

import pandas as pd


๐Ÿ—‚️ Sample Dataset


Let’s use Seaborn’s built-in dataset for simplicity:


df = sns.load_dataset("tips")  # Dataset of restaurant bills

df.head()


๐ŸŽจ 1. Matplotlib Basics


Matplotlib is low-level but highly customizable.


✅ Line Plot

plt.plot(df['total_bill'])

plt.title('Total Bill Over Time')

plt.xlabel('Index')

plt.ylabel('Total Bill ($)')

plt.show()


✅ Bar Chart

df['day'].value_counts().plot(kind='bar')

plt.title('Count of Records per Day')

plt.xlabel('Day')

plt.ylabel('Count')

plt.show()


✅ Histogram

plt.hist(df['total_bill'], bins=10, color='skyblue')

plt.title('Distribution of Total Bill')

plt.xlabel('Total Bill ($)')

plt.ylabel('Frequency')

plt.show()


๐ŸŒˆ 2. Seaborn Basics


Seaborn is built on top of Matplotlib and makes beautiful statistical plots with much less code.


✅ Histogram / KDE Plot

sns.histplot(df['total_bill'], kde=True, color='purple')

plt.title('Total Bill Distribution with KDE')

plt.show()


✅ Box Plot

sns.boxplot(x='day', y='total_bill', data=df)

plt.title('Total Bill by Day')

plt.show()


✅ Violin Plot

sns.violinplot(x='day', y='tip', data=df)

plt.title('Tip Distribution by Day')

plt.show()


✅ Scatter Plot

sns.scatterplot(x='total_bill', y='tip', hue='sex', data=df)

plt.title('Tip vs Total Bill')

plt.show()


๐Ÿ”— 3. Relationships Between Variables

✅ Pair Plot

sns.pairplot(df, hue='sex')

plt.show()


✅ Heatmap (Correlation Matrix)

corr = df.corr(numeric_only=True)

sns.heatmap(corr, annot=True, cmap='coolwarm')

plt.title('Correlation Matrix')

plt.show()


๐Ÿง  4. Customizing Your Plots

plt.figure(figsize=(10, 6))

sns.barplot(x='day', y='total_bill', data=df, palette='Blues')

plt.title('Average Total Bill by Day')

plt.xlabel('Day of Week')

plt.ylabel('Total Bill ($)')

plt.tight_layout()

plt.show()


๐Ÿ“Œ Best Practices


✅ Use clear titles and labels

✅ Choose the right chart for your data

✅ Use colors to add meaning, not just decoration

✅ Keep it simple and readable

✅ Use figsize to adjust plot size for reports or presentations


๐Ÿ”„ Combining Seaborn with Matplotlib


You can always use plt functions after Seaborn to fine-tune:


sns.boxplot(x='day', y='tip', data=df)

plt.title('Tips by Day')

plt.ylabel('Tip Amount ($)')

plt.grid(True)

plt.show()


๐Ÿงช Suggested Mini Project


Dataset: iris (available via sns.load_dataset('iris'))

Goal: Explore the relationships between flower measurements.


Tasks:


Histogram of sepal_length


Box plot of petal_length by species


Pairplot of all numeric columns


Correlation heatmap


✅ Summary Table

Task Matplotlib Function Seaborn Function

Line plot plt.plot()

Bar chart plt.bar() sns.barplot()

Histogram plt.hist() sns.histplot()

Box plot sns.boxplot()

Scatter plot plt.scatter() sns.scatterplot()

Correlation heatmap imshow() (complex) sns.heatmap()

Multi-variate overview sns.pairplot()

Learn Data Science Course in Hyderabad

Read More

Data Manipulation with dplyr in R

10 Pandas Functions Every Data Scientist Should Know

Focus on the practical, code-based aspects of data science.

Python & R for Data Science

Visit Our Quality Thought Training Institute in Hyderabad

Get Directions

Subscribe by Email

Follow Updates Articles from This Blog via Email

No Comments

About

Search This Blog

Powered by Blogger.

Blog Archive