{ "cells": [ { "cell_type": "markdown", "id": "1131e333", "metadata": { "id": "y8N5Mu6F_qVw" }, "source": [ "# **2D Line Plots**\n", "\n", "In this module we'll focus on using Python for making plot. We will use Matplotlib library, which is a popular data visualization library, widely used for creating static, animated, and interactive plots. It provides a comprehensive framework for generating a variety of plots and charts, including line plots, bar charts, scatter plots, histograms, and more." ] }, { "cell_type": "markdown", "id": "04627135", "metadata": { "id": "GsrKOlJbA3BR" }, "source": [ "## Plotting a line in Python\n", "\n", "You can use the Matplotlib library to plot lines in Python. Let's say you want to plot a line with the equation: $y=x^2+3x+1$. You can't simply give your line's equation to Python. Instead, you need to give Python an array of $x$ points and their respective $y$ points. Here is how you do it:\n", "\n", "\n", "\n", "1. First, make evenly spaced $x$ points in the range you are interested in, using the `linspace()` function from NumPy.\n", "2. Next, find their respective $y$ values using the line's equation.\n", "3. Finally, use the `plot()` function to plot them." ] }, { "cell_type": "code", "execution_count": 1, "id": "a8e5a90a", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 308 }, "id": "BD6Vvywa_Nsh", "outputId": "1022cd6e-1aff-45df-d38d-44be0be14327" }, "outputs": [ { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "# Specify the figure size in inches\n", "plt.figure(figsize=(3, 3))\n", "\n", "# Specify the figure size in inches\n", "plt.figure(figsize=(3, 3))\n", "\n", "# Define the range you want for x\n", "x = np.linspace(-10,10,100) # 100 points from -10 to +10 (including)\n", "\n", "# Find the corresponding y values for x using the equation\n", "y = x**2+3*x+1\n", "\n", "# Plot the points using Matplotlib\n", "plt.plot(x, y)\n", "\n", "# Show the plot\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "afe01cb5", "metadata": { "id": "A63wq6BFCfBf" }, "source": [ "## Customizing your plot\n", "\n", "You can customize your plots to have a given size, style, color, labels and title. These are optional commands in Python; if not specified, default values will be used for them, or they will simply be ignored. There are different styles to define these values. Below you can see some of the common options and how to specify them.\n", "\n", "In the `plot()` function, after giving the array of $x$ and $y$ values, you can specify the line style followed by the line color. Additionally, you can change the width of the line for a thicker or narrower line by adding `linewidth=number`. You can also specify a label for the line by using `label=\" \"` (the label will be shown after calling `plt.legend()`). Moreover, you can add a title, a grid, and x and y labels to your plot, as well as setting the width and length of your graph. A table for all of these is provided below.\n", "\n", "\n", "| Syntax | Effect |\n", "|--------|------------------|\n", "| `-` | Solid Line |\n", "| `:` | Dotted Line | \n", "| `--` | Dashed Line |\n", "| `-.` | Dash-dotted Line |\n", "| | |\n", "| `r` | Red Line |\n", "| `b` | Blue Line | \n", "| `g` | Green Line |\n", "| `k` | Black Line |\n", "| | |\n", "|`linewidth=number` | Changing Line Width |\n", "|`label=\" \"` | Adding a label/legend |\n", "| | |\n", "|`plt.xlim(a,b)`| Sets the width [a,b] of the graph|\n", "|`plt.xlim(c,d)`| Sets the length [c,d] of the graph|\n", "|`plt.xlabel(' ')`| Adds the x-label to the graph|\n", "|`plt.ylabel(' ')`| Adds the y-label to the graph|\n", "|`plt.title(' ')`| Adds the title to the graph|\n", "\n", "\n", "An example of plotting a line with customization, is given in the code below." ] }, { "cell_type": "code", "execution_count": 2, "id": "dde00c95", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 333 }, "id": "r06UGZqDETp0", "outputId": "cd00a75e-b6bf-4b8a-b78d-5e38c43fda18" }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Specify the figure size in inch\n", "plt.figure(figsize=(3, 3))\n", "\n", "# Define the range you want for x\n", "x = np.linspace(-10,10,100)\n", "y = x**2+3*x+1\n", "\n", "# Plot dashed red line\n", "plt.plot(x, y,\"--r\",linewidth=2.2,label=\"$y=x^2+3x+1$\")\n", "\n", "# Label for x axis\n", "plt.xlabel('x (units)')\n", "# Label for y axis\n", "plt.ylabel('y (units)')\n", "# Title\n", "plt.title('Red Dashed Line')\n", "\n", "# Adding grids\n", "plt.grid()\n", "# Showing the line's label/legend\n", "plt.legend()\n", "# Showing the plot\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "17bcc1a5", "metadata": { "id": "-BS5DRRS9e1e" }, "source": [ "## Multiple lines in one plot\n", "To plot multiple lines in one plot you can simply repeat using `plt.plot()` for each line with new $x$ and $y$ values. Python will automatically assign different colors to each new line, but to make your figures more distict you can use different line styles and a label for each line. See the example below.\n", "Note that here we use `np.arange(start, stop, step_size)` to create evenly spaced points from start to stop (excluding) with fixed stepsize." ] }, { "cell_type": "code", "execution_count": 3, "id": "f91f02ff", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 333 }, "id": "CYG8sz_v-A4p", "outputId": "b8645d77-bc7e-41a5-b4e1-bb02ceae3d68" }, "outputs": [ { "data": { "image/png": "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f//9N7///jv+/v6qe0q//PILrVq1qvDnqIgLFy4QHBxMbm4uNjY2bNmyBT8/vwrFKNSMsH+V9896amC4RjGZJGrikJ6ejr29PXK5vNSaArm5ucTExODr64uFhQXZ+YX4Td+jlTgjPw3Fyqziv4OOHDlCt27dkMvlyGQymjZtyqxZsxgzZozaY2vbti2XLl1i7969PP3005V+/9y5c1UtKICcnBxMTU0xMXnweSMjI/Hy8irz/fn5+cTFxSGXy9m0aRPff/89hw4dUiW1isZY3TiKyWQytmzZwoABA8rd59GfLUN2Ky2HzvP3YySDiE+eoY61WYXf+7jv56NEC82AtWvXDiMjI86cOcNff/2Fi4sLo0aNKnPfR7/IZSnvi7x7924uX75MUVERbm5Vu9n7aAtx+PDhDBo0iIEDB6q2ldVCLGZmZkajRo0A5ec+deoUX331Fd9++22lYqxuHELZins323nXqVQyqyytJrTDhw+zcOFCIiIiSEhIKPEbraCggE8++YSdO3dy/fp17O3tCQkJYf78+SV+oFJTU3n77bfZtm0bRkZGDBo0iK+++kpjRfMsTY2J/DRUI8euyLkrw8rKilatWrF582ZWrVrFzp07y12otaqXnGfOnOGll17ihx9+YPXq1UybNq1KswEcHR1xdHRUPbe0tMTV1VWVpCpLoVCQl5dX6RjVHYegFPav8v5Zj2aa6d0sptWEVtzNPXr06BK/AQGys7M5c+YM06ZNIyAggHv37vHuu+/y/PPPc/r0adV+w4cPJyEhgX379lFQUMCoUaN44403WLt2rUZilslklbrs07aOHTuybNky+vfvT7du3crd79EvckXExsbSp08fPvroI4YNG0aDBg0IDg7mzJkztG3btpqRV9zUqVPp1asXXl5eZGRksHbtWg4ePMiePXtqNMbMzEyuXr2qeh4TE8PZs2dxdHR84iWqIcvKK+TYtbsA9GyuuftnAEg6ApC2bNny2H1OnjwpAdKNGzckSZKkyMhICZBOnTql2mfXrl2STCaTbt26VeFzy+VyCZDkcnmp13JycqTIyEgpJyenwsfTJStXrpTMzMyk6OhotR737t27UtOmTaX//Oc/Jbb37t1bCg0Nrfbxn376aemnn36q0L6jR4+WvL29JTMzM8nFxUXq2bOntHfvXrXEWJk4Dhw4IAGlHiNHjixzf33/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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Specify the figure size in inch\n", "plt.figure(figsize=(3, 3))\n", "\n", "# Line 1, old line\n", "x = np.linspace(-10,10,100)\n", "y = x**2+3*x+1\n", "plt.plot(x, y,label=\"$y=x^2+3x+1$\")\n", "\n", "# Line 2, new line\n", "x2= np.arange(-8,8,0.1)\n", "y2=5*x2+40;\n", "plt.plot(x2, y2,\":r\",label=\"$y=5x+40$\")\n", "\n", "# Labels and title\n", "plt.xlabel('x (units)')\n", "plt.ylabel('y (units)')\n", "plt.title('Two Lines')\n", "\n", "# To show the line labels/legend\n", "plt.legend()\n", "\n", "# To show the plot\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "73091f57", "metadata": { "id": "MkYKtjrkClVc" }, "source": [ "## Figure with subplots\n", "`pyplot.subplots(nrows, ncols)` creates a figure and a grid of subplots with `nrows` rows and `ncols` columns. You can then access these subplots separately and then plot your lines. Below is an example." ] }, { "cell_type": "code", "execution_count": 4, "id": "004ca9cc", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 492 }, "id": "ADGE1zJuG8E_", "outputId": "a13e7eed-f9ca-4f9a-b90c-2e31ed04d5d8" }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Define x and y\n", "x = np.arange(0, 2*np.pi, 0.1)\n", "y1 = np.cos(x)\n", "y2 = np.sin(x)\n", "\n", "# Making a figure with 2 by 2 subplots\n", "fig, axs = plt.subplots(2, 2)\n", "#\n", "axs[0, 0].plot(x, y1)\n", "axs[0, 0].set_title('cos(x)')\n", "#\n", "axs[0, 1].plot(x, y2, 'k')\n", "axs[0, 1].set_title('sin(x)')\n", "#\n", "axs[1, 0].plot(x, -y1, 'g')\n", "axs[1, 0].set_title('-cos(x)')\n", "#\n", "axs[1, 1].plot(x, -y2, 'r')\n", "axs[1, 1].set_title('-sin(x)')\n", "\n", "# Add main title\n", "plt.suptitle(\"Main Title\")\n", "\n", "# Quick way to add similar x and y labels to all subplots\n", "for ax in axs.flat:\n", " ax.set(xlabel='x-label', ylabel='y-label')\n", "\n", "# Hide x labels and tick labels for top plots and y ticks for right plots. For a more readable figure\n", "# only if figures have similar x and y range\n", "for ax in axs.flat:\n", " ax.label_outer()\n", "\n", "#\n", "fig.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "9ec43fc8", "metadata": { "id": "Ro6WaeG17Mf2" }, "source": [ "---\n", "You can also create subplots with multiple functions in them. Below you can find an example of this, where -cos(x) & cos(x) and -sin(x) & sin(x) have each been merged into one subplot respectively. Try to understand how the code and syntax works." ] }, { "cell_type": "code", "execution_count": 5, "id": "cd765c7b", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 457 }, "id": "Zb_ujAXUBQUu", "outputId": "9b98698b-d35e-4ff9-9584-2644aecca27b" }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "# Define x range\n", "x = np.linspace(0, np.pi, 500)\n", "\n", "# Label each of the functions\n", "x1 = np.cos(x)\n", "x2 = -np.cos(x)\n", "x3 = np.sin(x)\n", "x4 = -np.sin(x)\n", "\n", "# Create first figure and subplot\n", "fig1, sub1 = plt.subplots(figsize=(5,2))\n", "sub1.plot(x, x1, \"--k\")\n", "sub1.plot(x, x2, \"--g\")\n", "plt.xlim(0,np.pi)\n", "plt.ylim(-1.5,1.5)\n", "sub1.set_title('cos(x) and -cos(x)')\n", "\n", "# Create second figure and subplot\n", "fig2, sub2 = plt.subplots(figsize=(5,2))\n", "sub2.plot(x, x3, \"-.r\")\n", "sub2.plot(x, x4, \":b\")\n", "plt.xlim(0,np.pi)\n", "plt.ylim(-1.5,1.5)\n", "sub2.set_title('sin(x) and -sin(x)')\n", "\n", "# Display the plots\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "337e0d35", "metadata": { "id": "IjWWeFrgvhGG" }, "source": [ "---\n", "### **Exercise: Graph and line customization**\n", "In this exercise, you must plot the sine function `y = np.sin`. The graph must be customized according to the specifications listed below:\n", "\n", "1. The graph must display two periods of the function using appropriate values for `np.linspace()`. (**Hint:** one period is from \"0\" to \"np.pi\" on the x-axis).\n", "2. The line must be black and dashed.\n", "3. Add the line's label (legend) \"y=sin(x)\" as well as the x and y labels \"x\" and \"y\" respectively.\n", "4. Set the x limit from $-\\pi$ to $\\pi$. Also set the y limit from -1.5 to 1.5\n", "4. Add grids to your graph.\n", "\n", "\n", "**Hint:** Copy and paste the relevant parts of the syntax from examples 1 and 2 and change the values to match the specifications." ] }, { "cell_type": "code", "execution_count": 6, "id": "9161b2ca", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 316 }, "id": "m8UZ_O1Sv4sG", "outputId": "dce05e7c-82e1-49cd-ee44-5dda9dcf8b27" }, "outputs": [], "source": [ "# your code here" ] }, { "cell_type": "markdown", "id": "3d63994e", "metadata": { "id": "sjD_cCxLsaOC" }, "source": [ "---\n", "### **Exercise: Plotting two lines**\n", "\n", "In this exercise, you must combine two lines into one graph. The functions you need to plot this are the following:\n", "\n", "\n", "\n", "1. `y1 = 2*np.pi*x`\n", "2. `y2 = 1 / (2*np.pi*x)`\n", "\n", "You must also set the `xlim` and `ylim` to a suitable value.\n", "\n", "(Optional) If you like, you may also customize your graph by, for example, specifying the line color or line type, adding a legend, et cetera.\n", "\n", "**Hints:** Copy paste the relevant syntax of Example 3. Also keep in mind that your `linspace` must not go through 0, as that would mean y2 will be divided by zero for x = 0." ] }, { "cell_type": "code", "execution_count": 7, "id": "abf46f8c", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 333 }, "id": "4tFbja5rvnAc", "outputId": "88581673-ffef-40b0-9c44-631ae26d2307" }, "outputs": [], "source": [ "# your code here" ] }, { "cell_type": "markdown", "id": "cfdfa547", "metadata": { "id": "4vJkJhA3wxSA" }, "source": [ "## Changing x or y axis to a logarithmic scale\n", "\n", "If required, you can simply change the scale of x or y axis to a logarithmic scale by using `plt.yscale('log')` and `plt.yscale('log')` respectively. Note that this doesn't change the values; just the spacing within the points will be on a logarithmic scale. However, to convert the values to dB you can code manually by using `20*np.log10()`. In the example below, we sketch the bode magnitude plot of an RL series circuit where R=1, L=1 and the output is the voltage across R." ] }, { "cell_type": "code", "execution_count": 8, "id": "903acdfb", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 338 }, "id": "0Git0BkDCP8W", "outputId": "de9d0649-f5d8-49fa-8977-81c2ee2eb94a" }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Specify the figure size in inches\n", "plt.figure(figsize=(3, 3))\n", "\n", "f = np.arange(0, 10**3,0.001) # frequency\n", "H_abs = np.abs(1/(1+1j*(2*np.pi*f)*1)) # H magnitude\n", "\n", "# Labels and titles\n", "plt.xlabel('f [Hz]')\n", "plt.ylabel('$|H|_{dB}$')\n", "plt.title('Bode Plot: Magnitude')\n", "\n", "# Plotting the points\n", "plt.plot(f, 20*np.log10(H_abs))\n", "plt.xscale('log') # This line changes your x-axis to log scale\n", "\n", "# Function to show the plot\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "50a27324", "metadata": { "id": "sWNbRLUhD5dN" }, "source": [ "## Save your figure\n", "To save your figure you can use `plt.savefig`. The first argument of this function is a filename with the desired extension. To have a good quality picture you should specify the DPI too; `dpi=300` is a good option for your reports. Note that the figure will be stored in your Files and will be deleted after the runtime is recycled, so make sure you download it. You can access the Files by clicking on the folder icon on the side ribbon on the left." ] }, { "cell_type": "code", "execution_count": 9, "id": "f6469627", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 313 }, "id": "P0G-JFnvEu5-", "outputId": "d9a960bd-94b2-4df0-bf2f-ee7f1af9c3ac" }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "# Define x range\n", "x = np.linspace(0, np.pi, 500)\n", "# Label each of the functions\n", "y = np.cos(x)\n", "\n", "\n", "# Specify the figure size in inch\n", "plt.figure(figsize=(3, 3))\n", "# Plot dashed red line\n", "plt.plot(x,y)\n", "\n", "\n", "# Labels and titles\n", "plt.xlabel(\"x[rad]\")\n", "plt.ylabel(\"cos(x)\")\n", "\n", "\n", "# Saving the figure as png\n", "plt.savefig('test_fig.png', dpi=300)\n", "\n", "\n", "# Saving the figure as pdf\n", "plt.savefig('test_fig.pdf', dpi=600)" ] }, { "cell_type": "markdown", "id": "ac4e8141", "metadata": { "id": "hy-lYQKTXLcg" }, "source": [ "## Plotting data from Excel\n", "\n", "You may have your data (x and y points) stored as separate columns in an Excel file. To plot this data you need to first import it from the Excel file. You can use the function `read_excel()` from the pandas library to do that efficiently. This reads the file into a `DataFrame` object (see the DataFrame documentation in [pandas.DataFrame](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html)). A pandas DataFrame stores the data in a tabular format, just like Excel displays the data in a sheet. To access each column of the dataframe object you can use the column name.\n", "\n", "The code below is an example; it reads the data from an Excel file from a download url, and stores them in `data_points`. To see the column names and the first five rows of the data you have imported from the Excel file, you can use `data_points.head()`. The x points are in a column called \"Frequency (Hz)\" and the y points in the column are called \"|Z| Impedance [Ohm]\".\n", "\n", "Another option is to first upload your file to the session storage. You can click on the \"Files\" icon on the side ribbon on the left and then click on the \"upload to session storage\" icon; then you can only give the `read_excel` function the file name." ] }, { "cell_type": "code", "execution_count": 10, "id": "d0fe8199", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 204 }, "id": "JCoPhP7BiE1z", "outputId": "a05c92cd-cdea-4cf3-9f88-e259902d09cf" }, "outputs": [ { "ename": "ModuleNotFoundError", "evalue": "No module named 'pandas'", "output_type": "error", "traceback": [ "\u001b[31m---------------------------------------------------------------------------\u001b[39m", "\u001b[31mModuleNotFoundError\u001b[39m Traceback (most recent call last)", "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[10]\u001b[39m\u001b[32m, line 1\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m1\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mpandas\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mas\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mpd\u001b[39;00m\n\u001b[32m 2\u001b[39m data_points= pd.read_excel(\u001b[33m'\u001b[39m\u001b[33mhttps://drive.google.com/u/0/uc?id=1z0d96LsbrtVJaF1-N-PLITlgCo0xT-Li&export=download\u001b[39m\u001b[33m'\u001b[39m)\n\u001b[32m 3\u001b[39m data_points.head()\n", "\u001b[31mModuleNotFoundError\u001b[39m: No module named 'pandas'" ] } ], "source": [ "import pandas as pd\n", "data_points= pd.read_excel('https://drive.google.com/u/0/uc?id=1z0d96LsbrtVJaF1-N-PLITlgCo0xT-Li&export=download')\n", "data_points.head()" ] }, { "cell_type": "code", "execution_count": null, "id": "7720d9f4", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 320 }, "id": "XqSm5lz3VSjT", "outputId": "fce59d96-0e7b-4b29-af1d-31fb6a050148" }, "outputs": [], "source": [ "x=data_points[\"Frequency (Hz)\"]\n", "y=data_points[\"|Z| Impedance [Ohm]\"]\n", "\n", "plt.figure(figsize=(3, 3))\n", "plt.plot(x, y);\n", "plt.xlabel('Frequency (Hz)', fontsize=14) # Adding x label\n", "plt.ylabel(r'|Z| Impedance ($\\Omega$)', fontsize=14) # Adding y label\n", "plt.xscale(\"log\") # Changing xscale to log" ] }, { "cell_type": "markdown", "id": "d343af24", "metadata": { "id": "UY7y6wUeticK" }, "source": [ "Note that pandas and matplotlib are widely-used foundational libraries in the realm of data science (with Python), and therefore getting well-acquainted with them is an essential requirement if you will be doing any data analysis and manipulation with Python." ] }, { "cell_type": "markdown", "id": "d2bdc99f", "metadata": { "id": "ueES1PT-kXFo" }, "source": [ "---\n", "### **Exercise: From Excel document to downloading a graph**\n", "\n", "In this exercise, you will download a graph which you will plot based on an Excel document.\n", "\n", "The first step is importing the Excel document. You can follow the required steps as explained above.\n", "\n", "The second step is plotting this graph and then downloading it." ] }, { "cell_type": "code", "execution_count": null, "id": "ea7fac00", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 204 }, "id": "RlnbHgj0TuOs", "outputId": "0ca77f57-e04b-4e8f-d3ec-c06b7832dde4" }, "outputs": [], "source": [ "import pandas as pd\n", "\n", "data_points= pd.read_excel('https://drive.google.com/u/0/uc?id=1gcQf7dXrxL1ENudjAGGTbpB-T63avPQt&export=download')\n", "data_points.head()" ] }, { "cell_type": "code", "execution_count": null, "id": "d9dacd31", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 350 }, "id": "dXZ6YNUfT9j6", "outputId": "823d7f31-f2e0-418b-b465-bd4c4a9125e7" }, "outputs": [], "source": [ "# your code here" ] }, { "cell_type": "markdown", "id": "6f30bc83", "metadata": { "id": "cavaMX2j81vN" }, "source": [ "## Optional: Other types of graphs\n", "The Matplotlib library also offers built-in functions for creating various types of graphs. Some of these are the scatter plot, bar graphs, histograms and pie charts. Below is a table for these types of graphs and their respective functions. For now it is mostly important that you are aware that they are available and that you know how to find the proper syntax whenever you need them. Also, an example plot for each one will be provided.\n", "\n", "| Type of Graph | Function |\n", "|--------|------------------|\n", "|Scatter Plot | `plt.scatter(x, y)` |\n", "| Bar Graph | `plt.bar(x,y)` | \n", "| Histogram | `plt.hist(x)` |\n", "| Pie Chart | `plt.pie(y)` |" ] }, { "cell_type": "markdown", "id": "ad7a68ed", "metadata": { "id": "H-8wWAN1B_4i" }, "source": [ "---\n", "\n", "Here is an example of a scatter plot with two sets of data." ] }, { "cell_type": "code", "execution_count": null, "id": "16d23166", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 291 }, "id": "rjPCaFzN9ljm", "outputId": "f3ba199a-be10-4c17-e122-ba24653301f4" }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "# Specify the figure size in inch\n", "plt.figure(figsize=(3, 3))\n", "\n", "x1 = np.array([2,4,6,7,5,3,5,1,3,9,2,0,4])\n", "y1 = np.array([101,96,69,85,102,92,84,88,99,92,102,94,98])\n", "plt.scatter(x1, y1)\n", "\n", "x2 = np.array([3,3,4,8,5,15,9,4,5,4,12,3,10,13])\n", "y2 = np.array([90,95,93,84,105,80,91,103,89,98,85,102,87,83])\n", "plt.scatter(x2, y2)\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "a496acac", "metadata": { "id": "9zM8m5MICUOZ" }, "source": [ "---\n", "\n", "Here is an example of a bar graph with the amount of various types of fruit displayed." ] }, { "cell_type": "code", "execution_count": null, "id": "dccd253a", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 291 }, "id": "Zb3_GeaeAGTM", "outputId": "1fa055e6-4bae-4436-c3d1-f6030fae1481" }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "# Specify the figure size in inch\n", "plt.figure(figsize=(3, 3))\n", "\n", "x = np.array([\"Apples\", \"Bananas\", \"Oranges\", \"Pears\"])\n", "y = np.array([5, 9, 7, 2])\n", "\n", "plt.bar(x,y)\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "1d70b501", "metadata": { "id": "VTtXSI6OCe0p" }, "source": [ "---\n", "\n", "Below is an example of a histogram, where the distribution of the exam results is plotted. Note that each vertical bar has a certain width which we call a \"bin\". You can specify the value for this bin, but it is not strictly needed; if you leave it out, a default value will be chosen." ] }, { "cell_type": "code", "execution_count": null, "id": "d5e99d4a", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 333 }, "id": "9UoAASYUHHhi", "outputId": "998120f0-f5b3-4d96-dfce-bf49609a9e44" }, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "# Specify the figure size in inch\n", "plt.figure(figsize=(3, 3))\n", "\n", "# Exam scores of 100 students (note that these are randomly generated)\n", "np.random.seed(20) # This is for generating a random set of samples\n", "scores = np.random.normal(loc=75, scale=10, size=100) # Mean=75\n", "\n", "# Create a histogram\n", "plt.hist(scores, bins=10) # a bin is the width of each vertical bar\n", "plt.title('Distibution of Exam Results')\n", "plt.xlabel('Results')\n", "plt.ylabel('Amount of Students')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "7486b2de", "metadata": { "id": "gKX-obMOCkEq" }, "source": [ "---\n", "\n", "Here is an example for the pie chart, where the distribution in percentages for passing leisure time is given. Using `plt.pie()` you can plot a pie chart. For the ways of customizing your chart, look up the syntax for doing so, in case you ever need it." ] }, { "cell_type": "code", "execution_count": null, "id": "aa6ea237", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 290 }, "id": "GjYhfJ-VClbK", "outputId": "70f4c99c-d572-411e-eef0-d0451269f171" }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "\n", "# Specify the figure size in inch\n", "plt.figure(figsize=(3, 3))\n", "\n", "# Preferred methods for passing leisure time\n", "labels = ['Books', 'Movies', 'Social Media', 'Sports', 'Socialising', 'TV Series', 'Others']\n", "sizes = [15, 5, 30, 10, 1, 32, 7] # Percentages\n", "colors = ['#ff9696','#66c3ff','#99fe99','#ffcc99','#c2c2f0','#feb3e6','#c4e17f'] # Specifying the colors is optional\n", "\n", "# Create a pie chart\n", "plt.pie(sizes, labels=labels, colors=colors)\n", "plt.title('Distribution of Ways for Passing Leisure Time')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "7c981600", "metadata": { "id": "9V6ISRmDVbBq" }, "source": [ "## More examples\n", "For a more extensive example please see: [Plotting for EPO1](https://colab.research.google.com/drive/1k5ml664digjiNl79LC-9P6MG0Dac8qXe?usp=sharing)" ] }, { "cell_type": "code", "execution_count": null, "id": "b04ba96b", "metadata": { "id": "0x5tfVYwQPfq" }, "outputs": [], "source": [] } ], "metadata": { "jupytext": { "text_representation": { "extension": ".md", "format_name": "myst", "format_version": 0.13, "jupytext_version": "1.16.4" } }, "kernelspec": { "display_name": "Python 3", "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.11" }, "source_map": [ 18, 24, 36, 66, 99, 132, 138, 171, 177, 222, 227, 267, 282, 293, 311, 322, 328, 355, 360, 397, 409, 422, 440, 444, 455, 469, 480, 492, 500, 525, 533, 554, 562, 588, 596, 620, 627 ] }, "nbformat": 4, "nbformat_minor": 5 }