{ "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 }