{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Python Library Practice: Matplotlib & Seaborn\n",
"\n",
"Data visualization is the key to understanding complex datasets. Matplotlib provides the low-level building blocks, while Seaborn offers beautiful high-level statistical plots.\n",
"\n",
"### Resources:\n",
"Refer to the **[Data Visualization](https://aashishgarg13.github.io/DataScience/Visualization/)** section on your hub for examples of interactive charts and best practices.\n",
"\n",
"### Objectives:\n",
"1. **Line & Scatter Plots**: Basic time series and correlation visuals.\n",
"2. **Distribution Plots**: Histograms and Box plots.\n",
"3. **Categorical Plots**: Bar charts and Count plots.\n",
"4. **Customization**: Adding titles, labels, and styles.\n",
"\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1. Line and Scatter Plots\n",
"\n",
"### Task 1: Basic Line Plot\n",
"Plot the function $y = x^2$ for $x$ values between -10 and 10."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"\n",
"# YOUR CODE HERE\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"Click to see Solution
\n",
"\n",
"```python\n",
"x = np.linspace(-10, 10, 100)\n",
"y = x**2\n",
"plt.plot(x, y)\n",
"plt.title(\"Plot of $y=x^2$\")\n",
"plt.xlabel(\"x\")\n",
"plt.ylabel(\"y\")\n",
"plt.show()\n",
"```\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2. Statistical Distributions\n",
"\n",
"### Task 2: Histogram and BoxPlot\n",
"Generate 500 random points from a normal distribution and plot their histogram and boxplot side-by-side using Seaborn."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import seaborn as sns\n",
"data = np.random.normal(0, 1, 500)\n",
"\n",
"# YOUR CODE HERE\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"Click to see Solution
\n",
"\n",
"```python\n",
"plt.figure(figsize=(12, 5))\n",
"plt.subplot(1, 2, 1)\n",
"sns.histplot(data, kde=True)\n",
"plt.title(\"Histogram\")\n",
"\n",
"plt.subplot(1, 2, 2)\n",
"sns.boxplot(y=data)\n",
"plt.title(\"Boxplot\")\n",
"plt.show()\n",
"```\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 3. Categorical Data Visuals\n",
"\n",
"### Task 3: Bar Chart\n",
"Using the `tips` dataset from Seaborn, plot the average total bill for each day of the week."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"tips = sns.load_dataset('tips')\n",
"\n",
"# YOUR CODE HERE\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"Click to see Solution
\n",
"\n",
"```python\n",
"sns.barplot(x='day', y='total_bill', data=tips)\n",
"plt.title(\"Average Total Bill by Day\")\n",
"plt.show()\n",
"```\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 4. Relationship Exploration\n",
"\n",
"### Task 4: Pair Plot\n",
"Plot pairwise relationships in the `iris` dataset, colored by species."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"iris = sns.load_dataset('iris')\n",
"\n",
"# YOUR CODE HERE\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"Click to see Solution
\n",
"\n",
"```python\n",
"sns.pairplot(iris, hue='species')\n",
"plt.show()\n",
"```\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"--- \n",
"### Great Visualization Practice! \n",
"A picture is worth a thousand rows. \n",
"Next: **Scikit-Learn practice**."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.7"
}
},
"nbformat": 4,
"nbformat_minor": 4
}