{ "cells": [ { "cell_type": "markdown", "id": "c43bb8f2", "metadata": {}, "source": [ "# 4.1. Format chung của một biểu đồ trên matplotlib\n", "\n", "Bộ dữ liệu mẫu được lựa chọn trong chương này là `iris` dataset. Đây là một bộ dữ liệu được sử dụng trong nhiều ví dụ minh hoạ về visualization. Bộ dữ liệu sẽ cho chúng ta biết kích thước dài, rộng của đài hoa và cánh hoa của 3 giống hoa iris là `Setosa`, `Versicolor` và `Virginica`. Cụ thể các trường như sau:\n", "\n", "* Sepal Length: Độ dài đài hoa\n", "* Sepal Width: Độ rộng đài hoa\n", "* Petal Length: Độ dài cánh hoa\n", "* Petal Width: Độ rộng cánh hoa" ] }, { "cell_type": "code", "execution_count": 1, "id": "09ff8b92", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 204 }, "id": "vCXWXmVZwtAk", "outputId": "2c63d980-30a7-434c-84e7-4ab2f19a39cb" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Sepal.LengthSepal.WidthPetal.LengthPetal.WidthSpecies
04.73.21.30.2setosa
15.03.61.40.2setosa
25.43.91.70.4setosa
34.63.41.40.3setosa
44.93.11.50.1setosa
\n", "
" ], "text/plain": [ " Sepal.Length Sepal.Width Petal.Length Petal.Width Species\n", "0 4.7 3.2 1.3 0.2 setosa\n", "1 5.0 3.6 1.4 0.2 setosa\n", "2 5.4 3.9 1.7 0.4 setosa\n", "3 4.6 3.4 1.4 0.3 setosa\n", "4 4.9 3.1 1.5 0.1 setosa" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "\n", "df_iris = pd.read_csv(\"https://raw.githubusercontent.com/phamdinhkhanh/datasets/master/iris_train.csv\", header=0, index_col=None)\n", "df_iris.head()" ] }, { "cell_type": "markdown", "id": "50ce319b", "metadata": { "id": "HQmQ-6DoxJL4" }, "source": [ "Thống kê mô tả các trường của bộ dữ liệu" ] }, { "cell_type": "code", "execution_count": 2, "id": "5fdd1f5d", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 297 }, "id": "GkmFTumiZTGo", "outputId": "7f59b407-e498-4f93-9b99-3c41600eb188" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Sepal.LengthSepal.WidthPetal.LengthPetal.Width
count105.000000105.000000105.000000105.00000
mean5.8123813.0761903.7266671.18381
std0.7843050.4558431.7490800.74616
min4.4000002.2000001.0000000.10000
25%5.2000002.8000001.6000000.30000
50%5.7000003.0000004.2000001.30000
75%6.3000003.4000005.1000001.80000
max7.9000004.4000006.9000002.50000
\n", "
" ], "text/plain": [ " Sepal.Length Sepal.Width Petal.Length Petal.Width\n", "count 105.000000 105.000000 105.000000 105.00000\n", "mean 5.812381 3.076190 3.726667 1.18381\n", "std 0.784305 0.455843 1.749080 0.74616\n", "min 4.400000 2.200000 1.000000 0.10000\n", "25% 5.200000 2.800000 1.600000 0.30000\n", "50% 5.700000 3.000000 4.200000 1.30000\n", "75% 6.300000 3.400000 5.100000 1.80000\n", "max 7.900000 4.400000 6.900000 2.50000" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_iris.describe()" ] }, { "cell_type": "markdown", "id": "dccde419", "metadata": { "id": "VN5bIzOxHwsG" }, "source": [ "Tiếp theo chúng ta sẽ xem độ dài cánh hoa trung bình ở mỗi loài là bao nhiêu:" ] }, { "cell_type": "code", "execution_count": 3, "id": "020192e3", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "vN2EGLA21ssx", "outputId": "70d426d2-e7a3-403b-da42-969b788bd134" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['setosa', 'versicolor', 'virginica']\n", "[1.47142857 4.18285714 5.52571429]\n" ] } ], "source": [ "import numpy as np\n", "\n", "df_summary = df_iris[['Species', 'Petal.Length']].groupby('Species').mean()\n", "x, y = list(df_summary.index), df_summary['Petal.Length'].values\n", "print(x)\n", "print(y)" ] }, { "cell_type": "markdown", "id": "d85e29fa", "metadata": { "id": "CmM9-9ie2a5w" }, "source": [ "Vẽ một biểu đồ barchart đơn giản trên matplotlib và cùng phân tích cách thức dựng biểu đồ sẽ như thế nào?" ] }, { "cell_type": "code", "execution_count": 4, "id": "9194cc4d", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 539 }, "id": "rOM8gqUv2xcn", "outputId": "8a364f4b-d3e8-429d-b99f-3b5be90611d6" }, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Average of Petal Length')" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA6sAAAH5CAYAAABnO6hQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8/fFQqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAmg0lEQVR4nO3debhlV1kn/u9rKowyCKkgUyxEQAQZy9g2CAFpjWAztMggkbFJy/Br5CfIIEqYCdA2g6BEGsIkEYIgEBoShYgISBKGkAgEgRAgQBIGIUASSN7+Y++Sw829lRrPXVX1+TzPec49e6+91zr7ntp1v2etvXZ1dwAAAGAkP7HeDQAAAICVhFUAAACGI6wCAAAwHGEVAACA4QirAAAADEdYBQAAYDjCKgDsYlV1g6p6a1WdW1VdVUevd5t2VFWdWFVnrnc7lqmqjph/b5vWuy0A+zJhFWAfU1U/VVUXzH+MH7be7dlLHZ3kjkmOTPJ7SV6+VsGqOmT+XSw+zq+qU6rqMVW13440YA5c99yRbXdUVZ1ZVacts84dNR/3I6rq6uvdFgBWJ6wC7HsekORyST6f5GHr3Ja9TlVdPsmvJnltd7+gu1/X3R/chk3fkCnYPjDJM5JcKckLk/zFDjblqUnuuYPb7gsOyXSMrr6+zQBgLcIqwL7nYUnemykI3bGqbrheDanJT65X/bvJtZJUkm9s53YfmYPta7v7yCS/nOTsJP+9qq61qxsJAKMTVgH2IVV1myS3SvLqJK9P8oMkD1lYv19VfbmqPrLG9v9jHqZ6z4Vll6+qJ1fV6fPw4m9V1dur6tYrtt0y3PXBVfWoqvrXJBckedy8/uCqOrqqzqiq71XVd6rqn6vqXmu05Y5V9cGq+n5VfbWqXlRVN5vrOGJF2aqqR8xDa7fs+71VdaftOHYHVNVLq+qLVXXR/PzSqrrmQpmjk3xhfvnUhWG9h2xrPVt097eTfDBT8P3ZhTruW1Xvn9/D96rqX6rq3gvrN1VVzy8ftDi8eMU+3lZVZ1XVhVV13nyN7S22t507Ygc/Mw+Zy19YVV+oqj9aY9+PqKpPz/s9o6oePW//H7+H+ff01HmTzy8coyNW7O7yVfXsqvrSXO/Hq+quu/RgALCmDevdAACW6mFJvpvkzd393ao6LlOg+dPuvqS7L66q1yd5fFXdvLtXXn/4wCTnJTkuSapq/yTvSvKfk7w2yZ8nuVqShyf556q6Q3efvGIff5Dkmkn+KslXk3xxXn6vJD+f5I2ZAt81kzwoyd9W1QO6+6+37KCqbp/k+CTfTPLcJN9Kcp8kt1vjfb82yf2THJvkVUkun2k49AlV9d+6+21bO2hVdbUkH0jyc0lemeQjSW6d5BFJ7lxVB3f3dzJdm/qxJP87yVuS/O28i09ubf9r1Flzfcl0zFNVz0zyx5mO+Z8kuSTTcXtTVT26u1+a5NxMw4lfm+Sfkhy1yu4fnann96hMv4MbJjk80+/sNt39me1t73a8rx35zPx+ph7r/5Ppd31YkiOr6ksrPhdPyPR5+EiSJ2caSv34TMdk0cuTXDXTsXts5uOb5NQV5V6d6QudF2QaOv8HSd5aVTfu7jO3/90DsF2628PDw8NjH3gkuUKmgHL0wrJ7JOkkv7mw7Gbzsuet2P6G8/IXLyx77LzsN1aUvWqSs5KcuLDskLnsN5IcuEr7rrzKsisl+XSSf12x/MOZemV/dmHZ/kn+ea7jiIXl95qXHb5iHxuSnJzp2t26jGP3rHkfj1yx/FHz8mcsLNu0sg2Xse8tx+VPkxyQZGOSW2QK853kg3O528yvn73KPt6a5NtJrrKwrBd/19twrG+a5MIkL1ux/MQkZ27jezkzyWmXUWZHPjNnJ7n6is/FuVuOzbzsGkm+nylwXmFh+U8n+fd5P4csLD9iXrZplTZuWfeOxc9Gkl+alz9nd/wb9fDw8PD48YdhwAD7jv+W5Kcy9RZtcVySc5I8dMuC7j49ySlJHlBVi/9PPHB+Xtz+sCSfSnLKPEz2gKo6IFMv1AlJbl9VV1zRjtd09zkrG9fd393yc1VdaR5ee6Uk70ly06q66rzuWplCw9919+cWtv9Bkhet8r4PS/KdTD1ii228epK3ZwqXN1plu0X3yhSOVvZSvjxTr9yqQ5W309PmOs5J8vFMv5O35UeTJD0gU1B69eL7mN/L25JcJcmvbEtFW471PDz6qvM+zs30xcAv74L3sjU78pl5VXd/a6H930vyofz47+2/ZPpC5i+6+4KFsl/NNOR9R7you/9j+HR3n5Tps3RZnxcAdgHDgAH2HQ/LFEi+VFU/t7D8hCS/U1UHdPeW4ZCvyRT87pJpuG0yhYzTu/uUhW1vmuSKufQwy0UH5EdDfZPkjNUKVdWBSZ6Zqbf3wFWKXD1T7+EN5tefXqXMastuminIfW0rbbzWWu2a3SDJyd39w8WF3f3Dqvp0pl7PnXVUkjdlCqTfTXJGdy9O0nTTTNevfmor+9imiZjma0Ofkann8sorVn9+G9u7o3bkM/O5Vcp8PdNQ8S2293OxLVar9xsr6gVgNxFWAfYBVXWDJHfKFHbWCmWHZZohOEn+OtN1eg9McnxV/WqmSX6esHLXST6R5P/fSvUrQ8n3VmlfZQrFN03y4iQnZRq6eXGmCaB+Nz+aFLC2Utdqam7D726lzAj3Bv1Md//9VtZX5iHbmY7Lak6/rEqq6qAk78sU/J+RKch9d973C5Ps7tmZd+Qzs9b7XbnfXW2tendHXQCsIKwC7BsekukP7IdnmqBmpWdm6nl9YZJ093lV9c4k96rp1jIPzDSZz+tWbPeZTNdYvqe7L9mJ9t0iyS2TPL27n7q4oqr++4qyW3q7brLKflZb9pkkN07yoe4+fwfb97kkN6mqDYu9q1W1Yd73aj1wu9pnkhya5Kzu3u4JmxbcK1MgvXt3v3dxxTz0+sKd2Pe22FWfmZW29AjfJNPQ8UWrfS56lWUADMQ1qwB7ufm60wcn+UR3v6K7j135SPKGJDevql9a2PTVma4ZPSzJ7yQ5obvPXrH712SawGbVXrLa9vuDbunB+rEeq6q6eVZcD9rdX8s0MdI9qmrxli77J3nMKvt+Tab/756zE218a6aAtTI4P3xe/pZt2MfOeu38/Oyq2m/lynkY9aLzM006tNJax/rhmX6Xu9uu+sysdEKmoP2IqrrCwv5+OtP1vitt+eJitWMEwAD0rALs/X49yfUz3fZjLW/ONAPqwzINwU2myZe+nuTITDO1vnqV7V6UaWKb51fVnTP1aH07yUFJfi3TjL3bci/TT2YawvpHVbVlBuAbJ/kfmYborrwm9HGZwskHquplmYYM3yfTJD3JQq9Zdx9bVa9K8uia7jP7jkyTIl0v04REP5eF+5iu4XmZAvtL5318NNOtax42t/V52/Aed0p3n1RVT800EdPHqupNmWbJvXaS2ya5a370/pNpAqK7zLdzOWvaRR+T5P9mGor92qr680y3/7ndvP1ns/N/G2ysqqesse5V2XWfmR/T3V+vqqcleXamW+C8LtOXLYdnGvq+OT/em/qh+fnI+XZNF2SayXiEIeEARFgF2Bc8bH7+27UKdPdpVXVGkvtV1WO7+/vdfVFVvSHTPTm/nal3ceV2P6iquyV5ZKZ7ez5tXnV2ptvLrBZwV6v/4nk/L8h0b9UrZwqpD8o0PPg2K8r/Y1UdmimYPDlTWD0m07W2H8p0C5PF8g+tqvdmCi5PyhTqvprpfpxP2ob2/XtV3W5+f3fPNKz6a0n+MslTe7rH6m7X3U+vqlOS/M9M9/y8cqbZg0/LpXuVH5nkpZnuy3qVedkx3f3ZqvrN/OjYXZzplj93zHTP00072cwDM10Lu5q/7+4v74rPzGq6+zlV9e1Mx+K5mUL68zP1Im/Owueiu/95DvK/n+k2QRvmtgirAIOohRnZAWCPVlW/neTYJPefexEhVfWSTF+6XKe7v7Le7QFg2wirAOxx5tmDL794P835mtUTkxyc5Prz/TXZh1TVFRY/E/Oya2e63c9Z3f2L69MyAHaEYcAA7Ikun+QL87WGn85038v7ZppV+EhBdZ91SFU9P9OQ9y9lGtL88EyzHz9xHdsFwA4QVgHYE/0g0wRQ98g0wVBlCq2P6u6XrWfDWFf/lmmSqIdn+gLjgkwzRz/nMu5hC8CADAMGAABgOO6zCgAAwHCGHwZ8wAEH9KZNm9a7GQAAAOxip5xyynndvXG1dcOH1U2bNuXkk09e72YAAACwi1XVF9ZaZxgwAAAAwxFWAQAAGI6wCgAAwHCEVQAAAIYjrAIAADAcYRUAAIDhCKsAAAAMR1gFAABgOMIqAAAAwxFWAQAAGI6wCgAAwHCEVQAAAIYjrAIAADAcYRUAAIDhCKsAAAAMR1gFAABgOMIqAAAAwxFWAQAAGI6wCgAAwHA2rHcDAADYs2164nHr3QRgDWc+927r3YQdpmcVAACA4QirAAAADEdYBQAAYDjCKgAAAMMRVgEAABiOsAoAAMBwhFUAAACGI6wCAAAwHGEVAACA4QirAAAADEdYBQAAYDjCKgAAAMMRVgEAABiOsAoAAMBwhFUAAACGI6wCAAAwHGEVAACA4QirAAAADEdYBQAAYDjCKgAAAMMRVgEAABiOsAoAAMBwhFUAAACGI6wCAAAwHGEVAACA4QirAAAADEdYBQAAYDjCKgAAAMMRVgEAABiOsAoAAMBwhFUAAACGI6wCAAAwHGEVAACA4QirAAAADGfDsiusqjOTfCfJxUl+2N2bl90GAAAAxrb0sDq7U3eft051AwAAMDjDgAEAABjOeoTVTnJ8VZ1SVYevQ/0AAAAMbj2GAd+uu8+uqgOTnFBVn+ru9y0WmEPs4Uly0EEHrUMTAQAAWE9L71nt7rPn53OSvCXJwauUOaq7N3f35o0bNy67iQAAAKyzpYbVqrpyVV1ly89Jfj3JactsAwAAAONb9jDgayV5S1Vtqfuvu/tdS24DAAAAg1tqWO3uzyW55TLrBAAAYM/j1jUAAAAMR1gFAABgOMIqAAAAwxFWAQAAGI6wCgAAwHCEVQAAAIYjrAIAADAcYRUAAIDhCKsAAAAMR1gFAABgOMIqAAAAwxFWAQAAGI6wCgAAwHCEVQAAAIYjrAIAADAcYRUAAIDhCKsAAAAMR1gFAABgOMIqAAAAwxFWAQAAGI6wCgAAwHCEVQAAAIYjrAIAADAcYRUAAIDhCKsAAAAMR1gFAABgOMIqAAAAwxFWAQAAGI6wCgAAwHCEVQAAAIYjrAIAADAcYRUAAIDhCKsAAAAMR1gFAABgOMIqAAAAwxFWAQAAGI6wCgAAwHCEVQAAAIYjrAIAADAcYRUAAIDhCKsAAAAMR1gFAABgOMIqAAAAwxFWAQAAGI6wCgAAwHCEVQAAAIYjrAIAADAcYRUAAIDhCKsAAAAMR1gFAABgOMIqAAAAwxFWAQAAGI6wCgAAwHCEVQAAAIYjrAIAADAcYRUAAIDhbFjvBgCwczY98bj1bgKwhjOfe7f1bgLAHkvPKgAAAMMRVgEAABiOsAoAAMBwhFUAAACGI6wCAAAwHGEVAACA4QirAAAADEdYBQAAYDjCKgAAAMNZl7BaVftV1Uer6h3rUT8AAABjW6+e1cck+eQ61Q0AAMDglh5Wq+p6Se6W5BXLrhsAAIA9w3r0rL4wyR8luWQd6gYAAGAPsNSwWlW/leSc7j7lMsodXlUnV9XJ55577pJaBwAAwCiW3bN6uyR3r6ozkxyT5M5V9bqVhbr7qO7e3N2bN27cuOQmAgAAsN6WGla7+0ndfb3u3pTkfkne092HLbMNAAAAjM99VgEAABjOhvWquLtPTHLietUPAADAuPSsAgAAMBxhFQAAgOEIqwAAAAxHWAUAAGA4wioAAADDEVYBAAAYjrAKAADAcIRVAAAAhiOsAgAAMBxhFQAAgOEIqwAAAAxHWAUAAGA4wioAAADDEVYBAAAYjrAKAADAcIRVAAAAhiOsAgAAMBxhFQAAgOEIqwAAAAxHWAUAAGA4wioAAADDEVYBAAAYjrAKAADAcIRVAAAAhiOsAgAAMBxhFQAAgOEIqwAAAAxHWAUAAGA4wioAAADDEVYBAAAYjrAKAADAcIRVAAAAhiOsAgAAMBxhFQAAgOEIqwAAAAxHWAUAAGA4wioAAADDEVYBAAAYjrAKAADAcIRVAAAAhiOsAgAAMBxhFQAAgOEIqwAAAAxHWAUAAGA4wioAAADDEVYBAAAYjrAKAADAcIRVAAAAhiOsAgAAMBxhFQAAgOEIqwAAAAxHWAUAAGA4wioAAADDEVYBAAAYjrAKAADAcIRVAAAAhiOsAgAAMBxhFQAAgOEIqwAAAAxHWAUAAGA4wioAAADDEVYBAAAYjrAKAADAcIRVAAAAhiOsAgAAMBxhFQAAgOEsNaxW1RWq6sNV9fGqOr2qnrbM+gEAANgzbFhyfRcmuXN3n19V+yd5f1X93+7+0JLbAQAAwMB2OKxW1aV6Zbv7kq1t092d5Pz55f7zo3e0DQAAAOydtnkYcFVdsaqeW1WfraoLk/xgxeOibdzPflX1sSTnJDmhu/9l+5sNAADA3mx7elZfluQBSd6e5JhsYzhdqbsvTnKrqrp6krdU1c27+7TFMlV1eJLDk+Sggw7akWoAAADYg21PWL17ksd194t3RcXd/a2qOjHJoUlOW7HuqCRHJcnmzZsNEwYAANjHbM9swBcm+eTOVFZVG+ce1VTVFZPcJcmndmafAAAA7H22J6weneR+O1nftZO8t6pOTXJSpmtW37GT+wQAAGAvsz3DgP8kyV9U1fFJ3p3kmysLdPcrt7aD7j41ya23q4UAAADsc7YnrN4203WrB2YavrtSJ9lqWAUAAIBtsT1h9S+TfD3JwzNdZ7pDswEDAADAZdmesPrzSe7d3e/cXY0BAACAZPsmWPp0kivvroYAAADAFtsTVp+Y5ClV9TO7qzEAAACQbN8w4KdkmlzpjKo6I5eeDbi7+467rGUAAADss7YnrF6caWIlAAAA2K22Oax29yG7sR0AAADwH7b5mtWqekJVvWSNdS+qqsftumYBAACwL9ueCZYekuTUNdadmuShO98cAAAA2L6welCSz6yx7rNJzBIMAADALrE9YfV7Sa67xrrrJblw55sDAAAA2xdW/ynJ46vq8osL59d/OK8HAACAnbY9t645IskHMt1n9XVJvpypp/WwJNdM8uBd3TgAAAD2Tdtz65qPV9WdkrwgyRMy9cpekuT9SX67uz++e5oIAADAvmZ7elbT3R9OcoequmKSn0ryze7+/m5pGQAAAPus7QqrW8wBVUgFAABgt9ieCZYAAABgKYRVAAAAhiOsAgAAMBxhFQAAgOEIqwAAAAxHWAUAAGA4wioAAADDEVYBAAAYjrAKAADAcIRVAAAAhiOsAgAAMBxhFQAAgOEIqwAAAAxHWAUAAGA4wioAAADDEVYBAAAYjrAKAADAcIRVAAAAhiOsAgAAMBxhFQAAgOEIqwAAAAxHWAUAAGA4wioAAADDEVYBAAAYjrAKAADAcIRVAAAAhiOsAgAAMBxhFQAAgOEIqwAAAAxHWAUAAGA4wioAAADDEVYBAAAYjrAKAADAcIRVAAAAhiOsAgAAMBxhFQAAgOEIqwAAAAxHWAUAAGA4wioAAADDEVYBAAAYjrAKAADAcIRVAAAAhiOsAgAAMBxhFQAAgOEIqwAAAAxHWAUAAGA4wioAAADDEVYBAAAYjrAKAADAcJYaVqvq+lX13qr6ZFWdXlWPWWb9AAAA7Bk2LLm+Hyb5w+7+SFVdJckpVXVCd//rktsBAADAwJbas9rdX+nuj8w/fyfJJ5Ncd5ltAAAAYHzrds1qVW1Kcusk/7JebQAAAGBM6xJWq+onk7w5yR9097dXWX94VZ1cVSefe+65y28gAAAA62rpYbWq9s8UVF/f3X+7WpnuPqq7N3f35o0bNy63gQAAAKy7Zc8GXEn+T5JPdvefLbNuAAAA9hzL7lm9XZLfS3LnqvrY/LjrktsAAADA4JZ665rufn+SWmadAAAA7HnWbTZgAAAAWIuwCgAAwHCEVQAAAIYjrAIAADAcYRUAAIDhCKsAAAAMR1gFAABgOMIqAAAAwxFWAQAAGI6wCgAAwHCEVQAAAIYjrAIAADAcYRUAAIDhCKsAAAAMR1gFAABgOMIqAAAAwxFWAQAAGI6wCgAAwHCEVQAAAIYjrAIAADAcYRUAAIDhCKsAAAAMR1gFAABgOMIqAAAAwxFWAQAAGI6wCgAAwHCEVQAAAIYjrAIAADAcYRUAAIDhCKsAAAAMR1gFAABgOMIqAAAAwxFWAQAAGI6wCgAAwHCEVQAAAIazYb0bsKfb9MTj1rsJwBrOfO7d1rsJAADsID2rAAAADEdYBQAAYDjCKgAAAMMRVgEAABiOsAoAAMBwhFUAAACGI6wCAAAwHGEVAACA4QirAAAADEdYBQAAYDjCKgAAAMMRVgEAABiOsAoAAMBwhFUAAACGI6wCAAAwHGEVAACA4QirAAAADEdYBQAAYDjCKgAAAMMRVgEAABiOsAoAAMBwhFUAAACGI6wCAAAwHGEVAACA4QirAAAADEdYBQAAYDjCKgAAAMMRVgEAABiOsAoAAMBwhFUAAACGs9SwWlWvrKpzquq0ZdYLAADAnmXZPatHJzl0yXUCAACwh1lqWO3u9yX5xjLrBAAAYM/jmlUAAACGM2RYrarDq+rkqjr53HPPXe/mAAAAsGRDhtXuPqq7N3f35o0bN653cwAAAFiyIcMqAAAA+7Zl37rmDUk+mOQmVfWlqnrYMusHAABgz7BhmZV19/2XWR8AAAB7JsOAAQAAGI6wCgAAwHCEVQAAAIYjrAIAADAcYRUAAIDhCKsAAAAMR1gFAABgOMIqAAAAwxFWAQAAGI6wCgAAwHCEVQAAAIYjrAIAADAcYRUAAIDhCKsAAAAMR1gFAABgOMIqAAAAwxFWAQAAGI6wCgAAwHCEVQAAAIYjrAIAADAcYRUAAIDhCKsAAAAMR1gFAABgOMIqAAAAwxFWAQAAGI6wCgAAwHCEVQAAAIYjrAIAADAcYRUAAIDhCKsAAAAMR1gFAABgOMIqAAAAwxFWAQAAGI6wCgAAwHCEVQAAAIYjrAIAADAcYRUAAIDhCKsAAAAMR1gFAABgOMIqAAAAwxFWAQAAGI6wCgAAwHCEVQAAAIYjrAIAADAcYRUAAIDhCKsAAAAMR1gFAABgOMIqAAAAwxFWAQAAGI6wCgAAwHCEVQAAAIYjrAIAADAcYRUAAIDhCKsAAAAMR1gFAABgOMIqAAAAwxFWAQAAGI6wCgAAwHCEVQAAAIYjrAIAADAcYRUAAIDhCKsAAAAMR1gFAABgOMIqAAAAwxFWAQAAGI6wCgAAwHCWHlar6tCq+nRV/VtVPXHZ9QMAADC+pYbVqtovyUuT/GaSX0hy/6r6hWW2AQAAgPEtu2f14CT/1t2f6+6LkhyT5B5LbgMAAACDW3ZYvW6SLy68/tK8DAAAAP7DhiXXV6ss60sVqjo8yeHzy/Or6tO7tVXwIwckOW+9G8GuUUeudwtghzgP7UWch9hDOQ/tRfaA89DPrLVi2WH1S0muv/D6eknOXlmou49KctSyGgVbVNXJ3b15vdsB7Luch4D15jzEKJY9DPikJDeqqhtU1eWS3C/J25bcBgAAAAa31J7V7v5hVT06ybuT7Jfkld19+jLbAAAAwPiWPQw43f3OJO9cdr2wjQw/B9ab8xCw3pyHGEJ1X2p+IwAAAFhXy75mFQAAAC6TsMo+q6oeXFXXWe92AFTV06vqLjuw3SFV9Y7d0SZgz1VV16mqY3dgu3dW1dUvo8wOna9gRxgGzD6rqk5M8rjuPnm92wLs/aqqMv2/e8ku3Ochmc5jv7WN5Td09w93Vf3AnsU5gD2NnlX2KlV15ao6rqo+XlWnVdV9q+q2VfWPVXVKVb27qq5dVfdOsjnJ66vqY1V1xar6tar6aFV9oqpeWVWXn/f53Kr616o6tapeMC/7r1X1L3P5v6+qa63n+waWp6qOrKpHLrw+oqr+sKoeX1UnzeeKp83rNlXVJ6vqZUk+kuT6VXX0fH76RFU9di539HxeSlX9UlV9YD6PfbiqrlJVV6iqV83bfLSq7rRKu65RVW+d6/9QVd1ioX1HVdXxSV6zhEMELNFWzkmnza8fXFVvqqq3Jzm+qq5UVW+czxV/M/89s3kue2ZVHbBw7vqrqjq9qo6vqivOZS7rfLWpqv6pqj4yP/7zOhwW9hLCKnubQ5Oc3d237O6bJ3lXkpckuXd33zbJK5M8q7uPTXJykgd0962SdJKjk9y3u38x00zZj6iqayS5V5Kbdfctkjxzruf9Sf5Td986yTFJ/mhZbxBYd8ckue/C6/skOTfJjZIcnORWSW5bVXeY198kyWvm88UBSa7b3TefzzWvWtzxfA/yv0nymO6+ZZK7JPl+kkclybzN/ZO8uqqusKJdT0vy0flc9eT8eDC9bZJ7dPfv7swbB4a02jnppBVlfiXJg7r7zkkemeSb87niGZnOD6u5UZKXdvfNknwryW8vrtzK+eqcJP+lu28zt+vFO/7W2Nct/dY1sJt9IskLqurIJO9I8s0kN09ywjQCL/sl+coq290kyee7+4z59asz/XH450kuSPKKqjpu3meSXC/J31TVtZNcLsnnd8/bAUbT3R+tqgPna943ZjrP3CLJryf56FzsJzP9oXdWki9094fm5Z9L8rNV9ZIkxyU5fsXub5LkK9190lzXt5Okqm6f6Yu3dPenquoLSW68YtvbZ/5jsrvfU1XXrKqrzeve1t3f3/l3D4xmjXPSWSuKndDd35h/vn2SF83bnlZVp66x689398fmn09JsmnF+rXOV1dO8udVdaskF+fS5yrYZsIqe5XuPqOqbpvkrkmek+SEJKd3969cxqa1xv5+WFUHJ/m1JPdL8ugkd870R+Ofdffb5mvGjtglbwDYUxyb5N5JfjpTr8amJM/p7pcvFqqqTUm+u+V1d3+zqm6Z5DcyfSF2nyQPXdwk00iPlVY9R21DmS37+u4q64C9x8pz0kqL54BtOZ8kyYULP1+c5Ior1q91vnpskq8luWWmUZwXbGN9cCmGAbNXmb9V/F53vy7JC5L8cpKNVfUr8/r9q+pmc/HvJLnK/POnkmyqqp+bX/9ekn+sqp9McrXufmeSP8g0vC9Jrpbky/PPD9p97wgY1DGZvsC6d6Y/Et+d5KHzOSNVdd2qOnDlRlV1QJKf6O43J/mTJLdZUeRTSa5TVb80l79KVW1I8r4kD5iX3TjJQUk+vWLbxTKHJDlvS08HsNdbeU7amvdn+qIsVfULSX5xB+tc63x1tUw9rpdk+ntqvx3cP+hZZa/zi0meX1WXJPlBkkck+WGSF8/D4TYkeWGS0zNdo/qXVfX9TNdyPCTJm+YT7UlJ/jLJNZL83XxtWGX6tjCZelLfVFVfTvKhJDdYxpsDxtDdp1fVVZJ8ubu/kuQrVXXTJB+cLzk4P8lhmXojFl03yauqasuXxU9asd+Lquq+SV4yT2by/UzXgb0s0/nqE5nOaQ/u7gvnurY4Yt73qUm+F1+kwT5j5TlpHtWxlpdluu791EyXLpya5N93oM6tna/eXFW/k+S9MbKDneDWNQAAsI+oqv2S7N/dF1TVDZP8Q5Ibd/dF69w0uBQ9qwAAsO+4UpL3VtX+mUaNPUJQZVR6VgEAABiOCZYAAAAYjrAKAADAcIRVAAAAhiOsAsAaquqeVfW+qjqnqr5fVV+oqrdW1aHr3K4jqsqkEwDs1YRVAFhFVf3PJG9J8pkkD0tytyTPnFffeb3aNXtFpvtDA8Bey2zAALCKqjorySndfa9V1v1Ed1+yDs0CgH2GnlUAWN01knx1tRWLQbWqHlxVXVV3mIcIn19VX6+ql1bVFRe3q6orVdWRVfX5qrpofv7jqvqJFeU2VtXLquqLVXXh/Pzaqrr8vP5Sw4CrakNVPamqPjVvc3ZV/a+qusKKMs+oqs9W1QVVdV5Vvb+qbr8LjhcA7FIb1rsBADCoDyd5UFV9LsnfdfcZl1H+dUnemORlSQ5O8qdJrpzkwckUFJO8O8kvJHlGkk8k+U9J/iRTMP7DudxPJfnAvOyZSU5NcmCSeyS5XJILt1L/f01y5Lz9Ted6NiX57bnME5I8NskfJ/lYkqsm2TzXBQBDEVYBYHW/n+TYJM9L8ryq+nqSE5K8qruPX6X8O7v7cfPPx889n0+vqmfPQff+SW6f5I7d/b653D9UVZI8taqO7O5zMoXJn02yubs/urD/N6zV0Kr61ST3TfKg7n7NvPjvq+obSV5XVbfq7o9lus71+O5+0cLmb9+2wwEAy2UYMACsYg6Yt05yxyTPytQTea8k766qp6yyyRtXvD4m0/+zB8+vD03yhSQfmIfjbph7W49Psn+mXtYk+fUkJ60Iqpfl0CQXJXnzKvtOkjvMzycluWtVPauqbl9Vl9uOOgBgqfSsAsAauvviJO+bH6mq6yR5V6ae0Jd29zcXin9txeZbXl93fj4wyc8k+cEa1V1z4fnj29nUAzMNET7/Mvb97CQXJDksyZOTnF9VxyZ5fHeft511AsBuJawCwDbq7rOr6hVJXpTkRpmua93iWklOX/E6Sb48P389yeeT3GeN3Z85P5+XHwXcbfX1TCH0V9dYf3aSdPcPMl3TemRV/XSS30ryZ0mulGkYMQAMQ1gFgFVU1fW7+4urrPr5+XnlTMH3SfKehdf3S3JJfhRo35VpoqPzu/tTW6n6+CRPqapbdve29rC+K9PkSVfr7n/Ylg26+6tJXlFVd01y822sBwCWRlgFgNWdVlXvTfKWTD2iV01y10wTL72xu89aUf6uVfX8TGHz4CRPTfKahVmEX5/kIZkmVfpfmYb6Xi7JDZPcPck9u/t7Sf53kt/NNEHSMzPNGnxAptmAf7+7v7Oyod19YlW9IcmxVfVnmQLyJZlmAr5rkid09xlV9XdzvR9J8s1M1+QemuTlO3WkAGA3EFYBYHVPyBT0np5pSO/FSc5I8sQkL1yl/GGZbj/ziEyTHf1Vki2zA6e7f1BVvzFvf3iSGyT5bpLPJjlu3ibd/a2qul2m29Y8MdP1pl/L1Gt70Vbae1iS/y/JQzPdmubCTEOL350fXT/7viS/k+RRmYb+npVptuNnbcPxAIClqu6+7FIAwKqq6sFJXpXkRt39b+vcHADYa7h1DQAAAMMRVgEAABiOYcAAAAAMR88qAAAAwxFWAQAAGI6wCgAAwHCEVQAAAIYjrAIAADAcYRUAAIDh/D8lDpzHDB3xAQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/home/khanh/Documents/KhanhBlog/deepai-book/book/_build/jupyter_execute/ch_appendix/appendix_matplotlib_7_1.png" }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "plt.figure(figsize=(16, 8))\n", "plt.bar(x, y)\n", "plt.xlabel('Species', fontsize=16)\n", "plt.ylabel('cm', fontsize=16)\n", "plt.title(\"Average of Petal Length\", fontsize=18)" ] }, { "cell_type": "markdown", "id": "c76444ae", "metadata": { "id": "OuPlyS1b3tGB" }, "source": [ "Các bạn sẽ hình dung các bước để vẽ biểu đồ trên matplotlib như sau:\n", "\n", "**Step 1**: Thống kê dữ liệu và lựa chọn biểu đồ. Ở bước này chúng ta cần phải xác định được mục tiêu của phân tích là gì? Sau đó xác định loại biểu đồ phù hợp để làm nổi bật thông tin. Dạng biểu đồ nào sẽ được sử dụng cho những mục đích cụ thể nào sẽ được trình bày ở chương tiếp theo.\n", "\n", "**Step 2**: Tiến hành visualization. Bước này đơn thuần là vận dụng matplotlib để vẽ biểu đồ. Hãy nhìn vào những câu lệnh ở ví dụ visualization trên. Nếu tinh tế bạn sẽ thấy chúng ta trải qua các bước:\n", "\n", "- Khởi tạo figure cho đồ thị: Muốn dựng một đồ thị thì trước tiên ta phải dựng khung cho nó thông qua hàm `plt.figure()`. Bên trong hàm này chúng ta khai báo kích thước `(w, h)` của đồ thị thông qua `figuresize=(w, h)`.\n", "\n", "- Vẽ biểu đồ: Sau khi đã có khung hình rồi, chúng ta sẽ tiến hành vẽ đồ thị. Tuỳ vào tính chất của dữ liệu mà chúng ta sẽ quyết định lựa chọn loại đồ thị phù hợp như đồ thị `barchart, line, scatter, pie, area, boxplot`. Bên trong hàm vẽ đồ thị chúng ta sẽ khai báo trục x và y và điều chỉnh các định dạng font chữ, màu sắc, loại đường viền đồ thị cho hài hoà và đẹp mắt.\n", "\n", "- Khai báo tiêu đề: Chúng ta có thể tạo tiêu đề cho các trục x, y và tiêu đề của đồ thị.\n", "\n", "**Step 3**: Sau khi dựng đồ thị xong thì bạn nên nêu ra những nhận xét, đánh giá được kết luận từ đồ thị. Đó là những thông tin hữu ích cho mô hình và việc ra quyết định.\n", "\n", "Tiếp theo chúng ta sẽ tìm hiểu các biểu đồ cơ bản trên matplotlib, những cách customize sâu biểu đồ trên matplotlib và làm thế nào để tạo ra một biểu đồ đẹp." ] }, { "cell_type": "markdown", "id": "99dfa6c2", "metadata": { "id": "lS-5PcPn5Uem" }, "source": [ "# 4.2. Các biểu đồ cơ bản trên matplotlib" ] }, { "cell_type": "markdown", "id": "676b068c", "metadata": { "id": "MZ9XxoeB599B" }, "source": [ "## 4.2.1. Line\n", "\n", "Biểu đồ line là biểu đồ mà các điểm được nối với nhau bằng những đoạn thẳng. Biểu đồ line thường phù hợp với mục đích thể hiện trend tăng/giảm ở chuỗi thời gian và dữ liệu so sánh giữa các nhóm trong biến _category_.\n", "\n", "Để vẽ biểu đồ line chúng ta dùng hàm `plt.plot()`. Bên trong cần khai báo trục $x$ và $y$ hoặc chỉ trục $y$ (giá trị index của $x$ khi đó sẽ tự được sinh ra)." ] }, { "cell_type": "code", "execution_count": 5, "id": "a6326e6d", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 539 }, "id": "XzX-yea-etPm", "outputId": "47b237e1-1272-4816-b58f-07856daeba2e" }, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Average of Petal Length')" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/home/khanh/Documents/KhanhBlog/deepai-book/book/_build/jupyter_execute/ch_appendix/appendix_matplotlib_11_1.png" }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Vẽ biểu đồ line độ dài cánh hoa trung bình giữa các loài hoa\n", "plt.figure(figsize=(16, 8))\n", "plt.plot(x, y, marker='o', markersize=10, linestyle='-.', linewidth=2)\n", "plt.xlabel('Species', fontsize=16)\n", "plt.ylabel('cm', fontsize=16)\n", "plt.title(\"Average of Petal Length\", fontsize=18)" ] }, { "cell_type": "markdown", "id": "25686b01", "metadata": { "id": "KTyluKtEfQp5" }, "source": [ "Các đối số `marker` và `linestyles` lần lượt qui định:\n", "\n", "* marker: Qui định hình dạng của point đánh dấu các điểm $(x, y)$ trên toạ độ. Marker nhận các kiểu `o, ^, s` lần lượt tương ứng với hình tròn, hình tam giác, hình vuông (s là viết tắt của square).\n", "\n", "* markersize: Kích thước của point.\n", "\n", "* linestyles: Qui định kiểu của đoạn thẳng nối các points. Có thể nhận các giá trị `--, -., -, :`\n", "\n", "* linewidth: Kích thước của đoạn thẳng." ] }, { "cell_type": "markdown", "id": "36f7f7df", "metadata": { "id": "Mz6NmXok6BxK" }, "source": [ "## 4.2.2. Barchart\n", "\n", "Biểu đồ barchart phù hợp với mục đích so sánh gía trị giữa các nhóm khác nhau. Chẳng hạn như so sánh độ dài cánh hoa trung bình giữa các nhóm.\n", "\n", "Để vẽ biểu đồ barchart chúng ta sử dụng hàm `plt.bar()` như biểu đồ đầu tiên. Chúng ta cũng có thể kết hợp nhiều loại biểu đồ trong cùng một biểu đồ bằng cách dùng liên tiếp các câu lệnh vẽ biểu đồ như sau:" ] }, { "cell_type": "code", "execution_count": 6, "id": "857b8a63", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 539 }, "id": "dkeTES3wht-a", "outputId": "0c72d6e9-6c69-4104-bb09-9018455731b4" }, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Average of Petal Length')" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/home/khanh/Documents/KhanhBlog/deepai-book/book/_build/jupyter_execute/ch_appendix/appendix_matplotlib_14_1.png" }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Vẽ biểu đồ line độ dài cánh hoa trung bình giữa các loài hoa\n", "plt.figure(figsize=(16, 8))\n", "plt.bar(x, y)\n", "plt.plot(x, y, marker='o', markersize=10, linestyle='-.', linewidth=2)\n", "plt.xlabel('Species', fontsize=16)\n", "plt.ylabel('cm', fontsize=16)\n", "plt.title(\"Average of Petal Length\", fontsize=18)" ] }, { "cell_type": "markdown", "id": "6837e63d", "metadata": { "id": "TFzITh0e6JIT" }, "source": [ "## 4.2.3. Pie\n", "\n", "Khi chúng ta muốn thể hiện thị phần của từng phân khúc hoặc tỷ lệ phần trăm của từng nhóm thì biểu đồ tròn sẽ rất phù hợp.\n", "\n", "Bên dưới ta sẽ visualize đếm số lượng các loài hoa." ] }, { "cell_type": "code", "execution_count": 7, "id": "801715a8", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "e4FOM5dMjnlM", "outputId": "3729a64b-2e80-456d-f102-3ec788bb6f99" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['setosa' 'versicolor' 'virginica']\n", "[35 35 35]\n" ] } ], "source": [ "# Thống kê các loài hoa\n", "x, y = np.unique(df_iris['Species'], return_counts = True)\n", "print(x)\n", "print(y)" ] }, { "cell_type": "code", "execution_count": 8, "id": "4d0feb1e", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 503 }, "id": "6rRC4yMpjY2D", "outputId": "45286306-07de-40e4-dd8c-a9ecaf4aa53b" }, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Average of Petal Length')" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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PjaZ1xwAM+sKXGtmOwP1wDatfGlSApWr1Kzk6ia/BX5rI60fYQRwAmEhp/8b2fER4eT5dwH/8ILXR87TEvcSLqe4HmEk29T8or9bifNcXPT3eqBLk58b4TSOTX0D+ADYCagDFpX4fNIKWoCIAF7wDwmXFPu1jbQewAHAwcmtf8RotWgRYZvi48BjwLgMrvIt1Z2E42r7APsDnVZz3/8Svtw9aWbbATu08jlfBzYws0HJauHuhNXCPYEp7t5gZl9Ea2rKSuUq0oQXfA7hiigPANhI2xg4qOjWL166XHLC9sXHCIX6Hy94LkZV7v5KUm7vufs0M9tsNXe/DrglWR08DniJcDhRS59ziZmdCFxjZl0IxXpQMv/7zOxzwJOsOGqWlGlvYZEWSK45uwNhRHsQsCewdtRQ1ceB/wH/JhTqE17wj+JGis/M2gEdkh2OtgSeALZx9yWRo0krqFxF2shG2hbAbk1uKtzAgUmEHW8ab+O84C0ekeVdMsJ9krAHuwHfcfdH4qaS1lK5ipSBjbTNWblwe0cNVX4OTGTlIp0TNZVIBCpXkQpJ9kjeoui2edHfNyLswZl184HJwJtFfzbeJnvBF0bMJpIZKleRDLCR1gHYlBXLdu1mbr2SP9M8+cU8YBbhOMymt4+At1henh+k+LwiuaVyFalCNtK6smLhdiCMfNsV3eoIx0EW3xqABSwvz1le8KUVji+SeypXERGRlFXDNh4REZGqonIVERFJmcpVREQkZSpXERGRlKlcRUREUqZyFRERSZnKVUREJGUqVxERkZSpXEVERFKmchUREUmZylVERCRlKlcREZGUqVxFRERSpnIVERFJmcpVREQkZSpXERGRlKlcRUREUqZyFRERSZnKVUREJGUqVxERkZSpXEVERFKmchUREUmZylVERCRlKlcREZGUqVxFRERSpnIVERFJmcpVREQkZSpXERGRlKlcRUREUqZyFRERSZnKVUREJGUqVxERkZSpXEVERFKmchUREUmZylVERCRlKlcREZGUqVxFRERSpnIVERFJmcpVREQkZSpXERGRlKlcRUREUqZyFRERSZnKVUREJGUqVxERkZSpXEVERFKmchUREUmZylVERCRlKlcREZGUqVxFRERS9v8ppb8N8oC7PAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/home/khanh/Documents/KhanhBlog/deepai-book/book/_build/jupyter_execute/ch_appendix/appendix_matplotlib_17_1.png" } }, "output_type": "display_data" } ], "source": [ "# Vẽ biểu đồ line độ dài cánh hoa trung bình giữa các loài hoa\n", "plt.figure(figsize=(16, 8))\n", "plt.pie(y,\n", " labels = x, # Nhãn của các nhóm\n", " colors = ['red', 'blue', 'green'], # Màu sắc của các nhóm\n", " autopct = '%1.1f%%', # Format hiển thị giá trị %\n", " shadow = False)\n", "plt.title(\"Average of Petal Length\", fontsize=18)" ] }, { "cell_type": "markdown", "id": "f645ba89", "metadata": { "id": "ooLuul0QjaBg" }, "source": [ "**Câu hỏi:** Biểu đồ pie có thể được vẽ kết hợp cùng với biểu đồ line hoặc barchart được không?" ] }, { "cell_type": "markdown", "id": "5373c9d7", "metadata": { "id": "dIKH-AsY6YVz" }, "source": [ "## 4.2.4. Scatter\n", "\n", "Biểu đồ scatter được sử dụng để biểu diễn từng điểm $(x, y)$ trong đồ thị hai chiều. Trong machine learning, khi cần biểu diễn các cụm hoặc trong các tình huống muốn tìm ra phân phối của các điểm dữ liệu theo các chiều chúng ta sẽ thường dùng biểu đồ scatter.\n", "\n", "Tiếp theo chúng ta sẽ cùng tìm ra phân phối của các điểm dữ liệu" ] }, { "cell_type": "code", "execution_count": 9, "id": "024e6254", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 539 }, "id": "68nTTBPPlL_6", "outputId": "8d6d0963-7397-4fcf-c5d8-34990123c247" }, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Average of Petal Length')" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/home/khanh/Documents/KhanhBlog/deepai-book/book/_build/jupyter_execute/ch_appendix/appendix_matplotlib_20_1.png" }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# lấy x, y\n", "x = df_iris['Petal.Length'].values\n", "y = df_iris['Petal.Width'].values\n", "# Vẽ biểu đồ line độ dài cánh hoa trung bình giữa các loài hoa\n", "plt.figure(figsize=(16, 8))\n", "plt.scatter(x, y, color='green', )\n", "plt.xlabel('Petal.Length', fontsize=16)\n", "plt.ylabel('Petal.Width', fontsize=16)\n", "plt.title(\"Average of Petal Length\", fontsize=18)" ] }, { "cell_type": "markdown", "id": "42800be4", "metadata": { "id": "LXmGmU6vmXfN" }, "source": [ "Như vậy chúng ta có thể thấy kích thước của cánh hoa có thể được phân thành hai cụm một cách khá rõ ràng.\n", "\n", "**Bài tập:** Hãy vẽ biểu đồ scatter biểu diễn toạ độ của các điểm $(x, y)$ nhận giá trị của `(Petal.Length, Petal.Width)` có màu sắc phân biệt giữa các loài hoa." ] }, { "cell_type": "markdown", "id": "80fbb20f", "metadata": { "id": "j6HpM2-ynjTa" }, "source": [ "# 4.3. Các biểu đồ nâng cao trên matplotlib\n", "\n", "Những biểu đồ nâng cao trên matplotlib là những biểu đồ thường ít được sử dụng hơn. Nó đòi hỏi người đọc phải am hiểu về thống kê và có thể phải tìm hiểu trước về nội dung được thể hiện trong những biểu đồ này để có thể đọc được. Việc đưa ra kết luận về dữ liệu từ biểu đồ này cũng khó hơn so với các biểu đồ cơ bản vì nó có độ phức tạp cao hơn. Nhưng qua chương này mình sẽ hướng dẫn các bạn đọc hiểu các biểu đồ như thế." ] }, { "cell_type": "markdown", "id": "ba797f0a", "metadata": { "id": "lqH0qYvu6dHD" }, "source": [ "## 4.3.1. Boxplot\n", "\n", "Biểu đồ box-plot giúp xác định outliers và tìm ra kiểu phân phối của dữ liệu. Cụ thể biểu đồ này xác định các ngưỡng chia tại các mức phân vị 25% (là giá trị mà có 25% quan sát nhỏ hơn giá trị này), median (hoặc mức phân vị 50%), mức phân vị 75% được ký hiệu lần lượt là $Q_1,Q_2,Q_3$. Các miền giá trị được xác định từ các ngưỡng trên sẽ tương ứng với:\n", "\n", "- Miền giá trị thấp nhất: Chứa các quan sát từ thấp nhất (không bao gồm outliers) tới Q1.\n", "\n", "- Miền gía trị thấp: Chứa các quan sát nằm trong khoảng từ $[Q_1,Q_2)$.\n", "\n", "- Miền giá trị cao: Chứa các quan sát trong khoảng $[Q_2,Q_3)$.\n", "\n", "- Miền giá trị cao nhất: Chứa các quan sát từ $Q_3$ tới giá trị cao nhất (không bao gồm outliers).\n", "\n", "Chỉ số $IQR$ (_interquartile range_) được xác định chính bằng độ dài của hai miền giá trị cao và thấp.\n", "\n", "$$IQR=Q_3−Q_1$$\n", "\n", "Dựa trên $IQR$, outliers sẽ được xác định nếu nằm ngoài miền giá trị cao nhất và miền giá trị thấp nhất. Tức là nếu $x>Q_3+1.5∗IQR$ hoặc $x" ] }, "metadata": { "filenames": { "image/png": "/home/khanh/Documents/KhanhBlog/deepai-book/book/_build/jupyter_execute/ch_appendix/appendix_matplotlib_24_2.png" }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Lấy ra list các chiều dimension cần khảo sát\n", "dims = list(df_iris.select_dtypes('float').columns)\n", "print(dims)\n", "\n", "# Vẽ biểu đồ bboxplot\n", "plt.figure(figsize=(16, 8))\n", "plt.boxplot([df_iris[col] for col in dims])\n", "plt.xlabel('Scale', fontsize=16)\n", "plt.ylabel('cm', fontsize=16)\n", "plt.xticks(np.arange(len(dims))+1, dims, rotation=45, fontsize=16)\n", "plt.title(\"Boxplot of Dimensions\", fontsize=18)" ] }, { "cell_type": "markdown", "id": "48511c3c", "metadata": { "id": "_i4NJggmxzCY" }, "source": [ "Nhìn vào biểu đồ ta có thể thấy `Sepal.Width` có một giá trị outlier nằm ở vị trí lớn nhất. Các phân phối `Petal.Width, Petal.Length` có xu hướng lệch phải khi median nằm gần ngưỡng $Q_3$ (ứng với quantile 75%) hơn. `Sepal.Length` có phân phối tương đối cân đối về hai phía trong khi `Sepal.Width` có phân phối lệch trái. Biểu đồ cũng cho thấy độ lớn giữa các biến khi so sánh median đó là `Sepal.Length > Petal.Length > Sepal.Width > Petal.Width`." ] }, { "cell_type": "markdown", "id": "40b4564e", "metadata": { "id": "I0OtfUF2yxTd" }, "source": [ "## 4.3.2. Swarm\n", "\n", "`swarm` hoặc đôi khi được gọi là `beeswarm` là một dạng biểu đồ cho phép ta biểu diễn phân phối của các điểm rất tốt. Các điểm trong biểu đồ swarm được giữ đúng như giá trị thật của nó chứ không bị biến đổi như histogram hay density nên chúng ta có thể theo dõi được chính xác phân phối thực tế của dữ liệu và nhận biết outlier hiệu quả.\n", "\n", "Để vẽ biểu đồ swarm thì chúng ta sẽ dùng package `seaborn`. Đây là package mở rộng của matplotlib nhằm cung cấp các biểu đồ mà trong matplotlib chưa hỗ trợ. Khi visualize các biểu đồ liên quan tới phân phối như `swarm, histogram, density` thì đây là một package rất hiệu quả.\n", "\n", "Cấu trúc chung của biểu đồ `swarm` như sau:\n", "\n", "```\n", "sns.swarmplot(\n", " x=None, \n", " y=None, \n", " hue=None, \n", " data=None\n", ")\n", "```\n", "\n", "Trong đó data là bảng dữ liệu dạng pandas Dataframe chứa thông tin để vẽ biểu đồ. `x` là trục hoành, `y` là trục tung. Thông thường `x` sẽ là một biến chiều xoay (_dimension_) và `y` là một biến đo lường (_measurement_). `hue` là biến về phân loại màu sắc.\n", "\n", "Tiếp theo chúng ta cùng visualize độ dài cánh hoa `Sepal.Length` cho các điểm thuộc về 3 loài hoa thông qua biểu đồ swarm" ] }, { "cell_type": "code", "execution_count": 11, "id": "44e20321", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 539 }, "id": "yAWESGAJ_DPN", "outputId": "62c2d70c-b723-405b-8ff0-50ecd56570c0" }, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Swarm of Dimensions')" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/home/khanh/Documents/KhanhBlog/deepai-book/book/_build/jupyter_execute/ch_appendix/appendix_matplotlib_27_1.png" }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "\n", "# Vẽ biểu đồ swarm\n", "plt.figure(figsize=(16, 8))\n", "sns.swarmplot(x='Species', y='Sepal.Width', data = df_iris)\n", "plt.xlabel('Scale', fontsize=16)\n", "plt.ylabel('cm', fontsize=16)\n", "plt.title(\"Swarm of Dimensions\", fontsize=18)" ] }, { "cell_type": "markdown", "id": "0ee12f64", "metadata": { "id": "OuoqRXo6DN6M" }, "source": [ "Hoặc chúng ta cũng có thể xoay ngang đồ thị bằng cách đảo ngược trục `x, y` cho nhau." ] }, { "cell_type": "code", "execution_count": 12, "id": "6b97f550", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 539 }, "id": "6ZWh_y_HDTdp", "outputId": "08b99479-741d-43b4-c82d-925d5625f228" }, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Swarm of Dimensions')" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/home/khanh/Documents/KhanhBlog/deepai-book/book/_build/jupyter_execute/ch_appendix/appendix_matplotlib_29_1.png" }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "\n", "# Vẽ biểu đồ swarm\n", "plt.figure(figsize=(16, 8))\n", "sns.swarmplot(y='Species', x='Sepal.Width', data = df_iris)\n", "plt.xlabel('Scale', fontsize=16)\n", "plt.ylabel('cm', fontsize=16)\n", "plt.title(\"Swarm of Dimensions\", fontsize=18)" ] }, { "cell_type": "markdown", "id": "643f0c6f", "metadata": { "id": "VQYoPyYCE83n" }, "source": [ "Khi muốn thay đổi màu sắc theo từng loài hoa ta có thể thêm `hue=Species`." ] }, { "cell_type": "code", "execution_count": 13, "id": "b3866e0f", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 539 }, "id": "jdOi8PdZE4Ir", "outputId": "89b60d36-05e5-4f68-9314-10c6f8ba2d72" }, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Swarm of Dimensions')" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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ddVVXHnllfTr14/CwkLuv/9+WrZsWePYm266icsuu4z+/fuzww478MADD2zVOa5PbMq0cWNXXFycSkpKcl2GJEmSpCZmwoQJ9O7de+MdV9/9uPbNoprvAHsfD599KCcf69MY1fWaRsSIlFJxXf2dqZUkSZKk+lZQAOc/nLnL8et3VPuc2quh77kG2q1gqJUkSZKkhlBQAP3Pyzy0zfjnAEmSJElS3jLUSpIkSZLylqFWkiRJkpS3vKZWquapMTO596UpAHzp6B6c0b9LjiuSJEmStCHO1EpZY6cv4ppH32HM9EWMyX4/bsaiXJclSZIkbbaZM2cyePDgzT7utNNOY+HChRvsc8MNN/D8889vYWXbnjO1UtZL75dS/WObU4L/Tiqlb9d2uStKkiRJ242qVMXTU5/moXcfYvay2ezWejcu2v8iTut+GgWxbecbu3TpwrBhw9Zpr6iooLBw/THw6aef3ujYN99881bVtq05Uytl7bvrjuu09ezUJgeVSJIkaXtTlaq49oVrufn1m3l33rvML5/Pu/Pe5ebXb+YbL3yDqlS1xWNfd9113HXXXWu2b7rpJn71q1/Rt29fAO6//37OO+88zjzzTAYNGsTy5cv57Gc/S//+/Tn//PM59NBDKSkpAaBbt27MnTuXadOm0bt3b6644gr69OnDoEGDKCsrA+DSSy9dE5jffvttjjjiCA444AAOOeQQlixZwrRp0zjqqKM46KCDOOigg3jttde2+Nw2haFWyjpp/05ceNieFBYEhQXBhYftyYm9d811WZIkSdoOPD31ad6Y9QZlFWU12ssqynh91us8M/WZLR57yJAhDB06dM32448/zsCBA2v0ef3113nggQcYPnw4d911FzvttBNjxozh+9//PiNGjKhz3Pfff5+vfvWrjB8/nvbt2/PEE0/U2L9y5UrOP/98fv3rXzN69Gief/55ioqK2HXXXfn3v//NyJEjGTp0KF/72te2+Nw2hcuPpayI4Efn9OPbJ/cCoF1R8xxXJEmSpO3FQ+8+tE6gXa2soowH332Q03ucvkVjH3jggcyZM4eZM2dSWlrKTjvtxJ577lmjz0knnUSHDh0AeOWVV/j6178OQN++fenfv3+d43bv3p0BAwYAcPDBBzNt2rQa+ydOnEjnzp3XBOi2bdsCsGzZMq6++mpGjRpFs2bNmDRp0had16Yy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\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/home/khanh/Documents/KhanhBlog/deepai-book/book/_build/jupyter_execute/ch_appendix/appendix_matplotlib_31_1.png" }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "\n", "# Vẽ biểu đồ swarm\n", "plt.figure(figsize=(16, 8))\n", "sns.swarmplot(x='Species', y='Sepal.Width', hue='Species', data = df_iris)\n", "plt.xlabel('Scale', fontsize=16)\n", "plt.ylabel('cm', fontsize=16)\n", "plt.title(\"Swarm of Dimensions\", fontsize=18)" ] }, { "cell_type": "markdown", "id": "6c16422c", "metadata": { "id": "gXIuEbrtDZyn" }, "source": [ "Nhìn vào biểu đồ swarm ta có thể thấy toàn bộ các điểm đều được thể hiện trên đồ thị. Chúng ta sẽ nhận biết được đâu là miền giá trị tập trung nhiều dữ liệu nhất, đâu là các vị trí outliers.\n", "\n", "Ngoài ra ta cũng có thể sử dụng một dạng biểu đồ khác giống như swarm nhưng đã được biến đổi thành distribution theo kernel distribution. Đó chính là biểu đồ violin." ] }, { "cell_type": "code", "execution_count": 14, "id": "18637d27", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 539 }, "id": "p_JVho68EFYX", "outputId": "796e75f2-3f9f-4b23-c322-ee62195cfbc4" }, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Swarnplot of Sepal.Width')" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7UAAAH5CAYAAABeXBkLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8/fFQqAAAACXBIWXMAAAsTAAALEwEAmpwYAACHZ0lEQVR4nOzdd3xb9b3/8ddXki3PxCsJ2XsPAoRVVqAljFCgJYVQRoEyw2rvbX9t7ypdt+29vbfjtrfj3lJoyy3QtFBmCAkkQAaQPchO7CR24njvJen7+0OScRw7sR1JR5Lfz8dDj0jnHJ3zlgyyP/ouY61FREREREREJBG5nA4gIiIiIiIi0lcqakVERERERCRhqagVERERERGRhKWiVkRERERERBKWiloRERERERFJWCpqRUREREREJGGpqBURkX7PGGONMU85naM7xpgCY8zvjTEloawrnM4UabH+GRhjVhhjCnt47NxQvrt6ePxdoePn9j2hiIj0lIpaEZF+yhgzzhjzG2PMTmNMozGmyhjzkTHmaWPM5U7nSyTGmCeMMTdG8RL/AdwC/Aq4A/jeKfKcYYz5kTFmmzGmzhhTY4zZY4x51hjz2SjmjCpjzJRQsfiHLvadEdpnjTHju9j/69C+cyKUZXbo5z4mEucTEZG+8zgdQEREYs8YMwdYCbQBvwe2A+nAJODTQB3wtmMBE883gaeBF6N0/iuBN6y13z7VgcaY0cAHwADgGeCXoV0TgPlAFvDXKOWMKmvtTmPMEaCrL13C23yh+/s67Z8LVAMbQ4/nAeY04swm+HNfARSexnlEROQ0qagVEemfvglkAGdZazd13GGMeQQ4w4lQXTHGZFtr65zO4bAzgMoeHvsVYDBwo7X2b532fdkYMyKiyWJvBXCrMWaCtXZvh+1zgR1ATej+/4Z3GGPOIPiFzcvW2gCAtbY1RnlFRCTK1P1YRKR/mghUdC5oAay1AWttSfhxV2MPjTGfD3Xl3NRp+0Oh7eeFHruMMf9ojHnHGHPUGNNqjDlojPmlMSa/03PHhJ77hDHmFmPMemNME/Bfof3WGPOUMeZCY8xKY0yDMabcGPO/xpisTud6KnT8oNBY1IrQ8cuNMWf19E0yxtxrjNlgjGkKdeFdaoy5uHPm0MMvdOj+ars5ZcdzZxpjvm+M2WeMaQm9P78PtbSGj3kidC7T6fx3neTUE0P/Lu9qp7X2cBdZ5hhjXgi9ny3GmF2hn5un03ErjDGFoa7rfwu9J7Wh547rdGyPf/a9FO5B0Lm1di7B3gcru9gXftze+6Cr/65D228wxmw0xjQbYw4ZY74NpHQ65gngd+Fzdvi5PNXpdC5jzFc6/Ix3G2O+0KNXKSIiPaaiVkSkf9oH5PdwfOVbwOhO4xSvAALALGPMoE7ba4H1ocepwFeBPcC/A48BbwJfBFYYY1K7uN6NBLvMLgkd/3qHfbOBV4APgb/rcK7/7Cb7EmAo8ATwE2AO8I4xZsZJXzFgjPkh8D8Eu2j/A8FxrdMIFjHXhg4rIzjGFeDd0P07Omzr7twe4A3g68AG4MvAn4Cbgfc7tKb+tZvzv3OS04e73d5njDll99rQa1lFsCXzPwi+52uAb4cydZZJsDhsBb4B/Ba4FlgVahEN68vPvifChencDq9haCh/uKgdZoyZ2OE5czs9t0vGmM8ALwADCb7+/wI+B/yw06F/BX4Tuv+vfPxz+XWn4/61w/b/R/D/maeMMRedLIeIiPSStVY33XTTTbd+dgMuJFiUWGA38CTwEDC1i2MvDh13X4dt+4E/hLbfHNpmCBZ5L3U4zgDpXZzzix2fG9o2JrStrZsclmBRcEGn7a+GnpPVYdtToeP/CpgO288JnWNJF+d+qsPjyaHj3gNSO2wfRnBcZiHg7u75PXj/7ws95986bZ8f2v6Hk+U7xbnHEeyCa4GDBMfVfgk4p4tj04CjBItkT6d9Xw6dY26HbStC237S6djPhLb/qi8/+z68xkNAcYfHt4aePxTIJjiu9v4O+3cR7L7t6vRaCjs8dofer3KgoMP2gUBR6Px3ddh+V+f3p4t9Gzv99zMcaAH+FOn/p3XTTTfd+vNNLbUiIv2QtXYNwQLvaYJ/tN8N/DfwkTHm3U5dSd8HGgi2woYnIhpLsBVvG/DJ0HEzgQKCLbvh61hrbVPoeW5jTI4xpuMx53cR71Vr7Y5uoq+x1q7ttO0tgnNEjOni+H+z1rZ3BbbWrifYWvipzl2WO7mBYFH2b7bD2Esb7Jb9FDAa6HE35i58hmDR/P2OG621rwKbgBuMMX36HW2t3Q+cCfwitOnzwI+BdcaYLeb42X+vBIYQ7EqbY4JLBxWEfkavhY6Z18VlftDpmi8QLBxv7LCtLz/7nnqbYGvspNDjucBua+0RGxx/vSG07bhWXBsaT9uNc4CRwO+steUdXkcNwVmn++K/O/33U0zwS6SJ3T9FRER6S0WtiEg/Za3daq29y1o7hGBB+AWCXVwvBv4W7h5qrW0j2GIZHpf4SYItYe8QLFCuCG0P/9te1AIYY242xrwPNAFVBFtz94d253YRbfdJYu/vYltF6N+uxml2VRx/RLBVbnQX+8LGhv7d3sW+baF/x3Wxr6fGAiXW2qou9m0n2NpY0NeTW2sLrbWPWGtHEWxdvhl4meAXD68YY/JCh04N/fskwZ9Lx9vO0L4hnU5fba092sVldwBDjDGZ4Q19+Nn3VOdxtXMJdjsOW8nHXY7D/644xTnDP8+dXez7qDfhOujuv9fTGVMsIiKdqKgVERGstUXW2t8DlxEcXzkDOK/DIW8RLFimEyxeP7TW1oe2TzDGjAptLwe2hp8UGrP7XOjh4wSXC7oSuDq0ravfQ40nieo/yb6eLs/Sk+NOZ6mXSGWIiFDr5Z+ttdcD/0dwJuXwmOBwjq8S/Ll0dfuPzqfs5lLHvaY+/ux7qn1cbafxtGErgaHGmMn0cDwtH+fv6vX19efV3X+vMfv5i4j0B1rSR0RE2llrbahl7SKC4//Cwq2vnyRYvP429HgFwT/crwQuBZZ27O5LcJKcZuBya217sWqMmRKVF3CiqUDn7spTCWYuOsnzwpMtTefE9U6nhf7tqhWup/YBVxtjcqy11V2cv5bgFwSRtpZgd+Twz3ZP6N8Ga+2yHp4j1xhzRhettVOAY9bahtDjqP3srbWFoZmL5/Jx0dqxqH2XYPfuy0P7K+jwZUs3wj/nqV3s62rbKWe4FhGR2FBLrYhIP2SMubLzci2h7el8PIayY5fLDQS7jz5IcDKet6B9vOEGgjMRD6RT12OCxaOlw++b0Iy8/xSRF3Jq/6/jDMDGmLOBTwHLQy3N3XmJYO6vGmPal3MJtQreTbAg3tjh+Hogj557keB78vWOG40x1xAcq/vSKcZ/dssYMzf0c+y83UWwtRQ+/tm+ARwDvt6hS3LH56QbY7K7uEzn3J8hOLnWix02n/bP3hgzyhgzpePPoIO3CbY6Pwjstx2WKgr9d7mZ4ARS4fG0pypC1wOHgbtDY3/DGQaErtFZ+L+f3vzcRUQkCtRSKyLSP/2Y4JI+LxFswWokOEnO5wkWAb+31ra3bFlrA8aYdwhOoNQMrO5wrreAr3W439Fi4CbgLWPM7wmu93kjkBHpF9SN0cAbodc5FHiE4PjOr57sSdbaXcaYfye4DMs7xpjnCI5zvR/IAm6z1nbsWrqW4ORTXyM4g6611j57kks8RXAM89eMMWMIjk+eACwCSgkuIdRXXwEuMsa8TPALhxqCxd9NBCdDepvgjNFYaxuMMXcSLEZ3GWOeBPYCOQRbXj9LcFKrFR3OXw581hgzLLR9YofcT3Q4LhI/+3CX+LEEZ5zu6G2CXzBcysdrxna0kuCsz+FjT8pa6zfGfBl4HvjAGPM/BMeO30OwpXdUp6d8SLA1+B+NMbkEJ1M7YK19/5SvSkREIkottSIi/dPfEVzu5gKChchvCK4jWkJwyZW7u3jO8tC/q621LV1sL7bWHjfJU6iwCxeCPyJYJO4CrorIqzi1qwkWW98iuETNeuAya+2WUz3RWvs1gtnTCM72+1WCkwhdYa19rdPhiwhOpvWPBMetdrW+a8dztxF8D35AcOzyT4DbgT8D51trD/Xs5XXpuwQnfppKcB3Z3xD80qEN+Hvgmo6twNbaN4BzCbba3k5w1uSvhJ7/n0Dn96qBYJdebyj/vQTXA77YWnukw3mj/bPvWKiu7GJ/x20renJCa+1iYAHB7t9PEPx/YjEff2nT8diDBAvedILrKv+J4LJYIiISY+bUvXFEREQSizHmKeAL1lpNyBNBxpgVwBhr7RiHo4iIiLRTS62IiIiIiIgkLBW1IiIiIiIikrBU1IqIiIiIiEjC0phaERERERERSVhqqRUREREREZGElRTr1BYUFNgxY8Y4HUNERERERESiYP369eXW2kFd7UuKonbMmDGsW7fO6RgiIiIiIiISBcaYou72qfuxiIiIiIiIJCwVtSIiIiIiIpKwVNSKiIiIiIhIwkqKMbUiIiIiIiJOaGtr4/DhwzQ3NzsdJSmkpaUxYsQIUlJSevwcFbUiIiIiIiJ9dPjwYbKzsxkzZgzGGKfjJDRrLRUVFRw+fJixY8f2+HnqfiwiIiIiItJHzc3N5Ofnq6CNAGMM+fn5vW71VlErIiIiIiJyGlTQRk5f3ksVtSIiIiIiInHse9/7HtOnT2fWrFnMnj2b999/P2Lnvvbaa6muro7Y+ZygMbUiIiIiIiJxas2aNbzyyits2LABr9dLeXk5ra2tETv/a6+9FrFzOUUttSIiIiIiInHqyJEjFBQU4PV6ASgoKGDYsGGMGTOGr33ta5x33nmcd9557N27F4CysjJuuukmzj33XM4991xWrVoFQH19PXfffTczZ85k1qxZ/OUvfwFgzJgxlJeXA/DHP/6R8847j9mzZ/PAAw/g9/vx+/3cddddzJgxg5kzZ/LjH//YgXfh5FTUioiIiIiIxKl58+Zx6NAhJk2axKJFi1i5cmX7vgEDBvDBBx/wyCOP8KUvfQmAxx9/nC9/+ct8+OGH/OUvf+Hee+8F4Dvf+Q4DBw5k69atbNmyhSuuuOK46+zYsYPnnnuOVatWsWnTJtxuN8888wybNm2iuLiYbdu2sXXrVu6+++6YvfaeUvdjERERERGROJWVlcX69et59913efvtt7nlllv4wQ9+AMCtt97a/u+Xv/xlAJYtW8ZHH33U/vza2lrq6upYtmwZzz77bPv23Nzc466zfPly1q9fz7nnngtAU1MTgwcP5tOf/jT79+/n0UcfZf78+cybNy+qr7cvVNSKiIiIiIjEMbfbzdy5c5k7dy4zZ87k6aefBo6fKTh8PxAIsGbNGtLT0487h7X2pDMLW2v5whe+wPe///0T9m3evJk33niDX/ziFzz//PM8+eSTkXhZEaPuxyIiIiIiInFq165d7Nmzp/3xpk2bGD16NADPPfdc+78XXnghEOyu/POf//y447vaXlVVddx1PvnJT7J48WKOHTsGQGVlJUVFRZSXlxMIBLjpppv4zne+w4YNGyL/Ik+TWmpFRERERETiVH19PY8++ijV1dV4PB4mTJjAb37zG1555RVaWlo4//zzCQQC/OlPfwLgZz/7GQ8//DCzZs3C5/Nx6aWX8qtf/Yp/+qd/4uGHH2bGjBm43W6++c1v8tnPfrb9OtOmTeO73/0u8+bNIxAIkJKSwi9+8QvS09O5++67CQQCAF225DrNWGudznDa5syZY9etW+d0DBERERER6Wd27NjB1KlTY37dMWPGsG7dOgoKCmJ+7Wjr6j01xqy31s7p6nh1PxYREREREZGEpe7HSerVV1/lyJEj3HHHHe1rWomIiIiISHIoLCx0OkLcUFGbpH74wx8CMGfOHGbPnu1sGBERERERkShR9+Mk1HGcdGtrq4NJREREREREoktFbRLqWMi2tLQ4mERERERERCS6VNQmoY6FbHNzs4NJREREREREoktFbRJqampqv6+WWhERERERCXvqqacoKSlxOkZEaaKoJNSxkO1Y4IqIiIiISHQ9/KWvUFpeGbHzDSnI4xc/+VHEzvfUU08xY8YMhg0bFrFzOk1FbRLqWMiq+7GIiIiISOyUlldyYOjcyJ3wyIpTHtLQ0MDNN9/M4cOH8fv9/PM//zMTJkzg7/7u76ivr6egoICnnnqKVatWsW7dOm677TbS09NZs2YNq1ev5itf+Qo+n49zzz2XX/7yl3i9Xr7+9a/z0ksv4fF4mDdvHj/60Y94+eWX+e53v0trayv5+fk888wzDBkyJHKvtY/U/TgJdSxq1VIrIiIiIpLclixZwrBhw9i8eTPbtm3j6quv5tFHH2Xx4sWsX7+ee+65h3/8x39kwYIFzJkzh2eeeYZNmzZhjOGuu+7iueeeY+vWrfh8Pn75y19SWVnJCy+8wPbt29myZQv/9E//BMDFF1/M2rVr2bhxIwsXLuTf/u3fHH7lQWqpTUKNjY1d3hcRERERkeQzc+ZMvvKVr/C1r32N6667jtzcXLZt28aVV14JgN/vZ+jQoSc8b9euXYwdO5ZJkyYB8IUvfIFf/OIXPPLII6SlpXHvvfcyf/58rrvuOgAOHz7MLbfcwpEjR2htbWXs2LGxe5EnoZbaJKSiVkRERESk/5g0aRLr169n5syZfOMb3+Avf/kL06dPZ9OmTWzatImtW7eydOnSE55nre3yfB6Phw8++ICbbrqJF198kauvvhqARx99lEceeYStW7fy61//Om6GOqqoTUINDQ3BO560j++LiIiIiEhSKikpISMjg9tvv52vfOUrvP/++5SVlbFmzRoA2tra2L59OwDZ2dnU1dUBMGXKFAoLC9m7dy8Af/jDH7jsssuor6+npqaGa6+9lp/85Cds2rQJgJqaGoYPHw7A008/HeNX2T11P05C4UI2kJqpolZEREREJMlt3bqVr371q7hcLlJSUvjlL3+Jx+Phscceo6amBp/Px5e+9CWmT5/OXXfdxYMPPtg+UdTvfvc7Pve5z7VPFPXggw9SWVnJDTfcQHNzM9ZafvzjHwPwxBNP8LnPfY7hw4dzwQUXcODAAYdfeZCK2iRUX18PxhBIzaCurt7pOCIiIiIi/caQgrwezVjcq/OdwlVXXcVVV111wvZ33nnnhG033XQTN910U/vjT37yk2zcuPG4Y4YOHcoHH3xwwnNvuOEGbrjhhp7EjikVtUmovr4ek5IG7lRqQ10LREREREQk+iK5pqz0jMbUJqG6ujpwp2I93mCrrYiIiIiISJJSUZuEamtr8YeK2saGegKBgNORREREREREokJFbRKqqakl4PZi3V6stWqtFRERERGRpKWiNglV19SAxxu8EZx6W0REREREJBmpqE1CtbU12JQ0bEoaoKJWRERERESSl4raJNPa2kpzUxPWk4b1qKgVEREREZHe+5d/+ReWLVvW6+etWLGC6667LgqJuqclfZJMuIC1KentLbVVVVVORhIRERER6Te+8eWHqak4GrHzDcw/g+//+BcRO19H1lqstbhcJ7Z1fvvb347KNTvz+Xx4PKdXlqqoTTKVlZUAoZbadACqq6sdTCQiIiIi0n/UVBzl6xN2R+x8P9h76mO+9rWvMXr0aBYtWgTAE088QXZ2NoFAgOeff56WlhY+85nP8K1vfYvCwkKuueYaLr/8ctasWcOLL77IN7/5TdatW4cxhnvuuYcvf/nL3HXXXVx33XUsWLCADz/8kMcff5yGhga8Xi/Lly8nJSWFhx56iHXr1uHxePjP//xPLr/88uNyVVZWcs8997B//34yMjL4zW9+w6xZs3jiiScoKSmhsLCQgoIC/u///u+03iN1P04y4QLWpqSD24PxpKilVkREREQkiS1cuJDnnnuu/fHzzz/PoEGD2LNnDx988AGbNm1i/fr1vPPOOwDs2rWLO++8k40bN1JeXk5xcTHbtm1j69at3H333cedu7W1lVtuuYWf/vSnbN68mWXLlpGens4vfhFsPd66dSt/+tOf+MIXvkBzc/Nxz/3mN7/JWWedxZYtW/jXf/1X7rzzzvZ969ev529/+9tpF7Sgltqk095SmxJspSUlvX2biIiIiIgkn7POOotjx45RUlJCWVkZubm5bNmyhaVLl3LWWWcBUF9fz549exg1ahSjR4/mggsuAGDcuHHs37+fRx99lPnz5zNv3rzjzr1r1y6GDh3KueeeC8CAAQMAeO+993j00UcBmDJlCqNHj2b37uNbqN977z3+8pe/AHDFFVdQUVHRPlzy+uuvJz09PSKvX0Vtkulc1Po9KmpFRERERJLdggULWLx4MUePHmXhwoUUFhbyjW98gwceeOC44woLC8nMzGx/nJuby+bNm3njjTf4xS9+wfPPP8+TTz7Zvt9aizHmhOtZa0+ZqatjwufqmOF0qftxkqmsrMR4UsGdAkDAk05ZeYXDqUREREREJJoWLlzIs88+y+LFi1mwYAFXXXUVTz75JPX19QAUFxdz7NixE55XXl5OIBDgpptu4jvf+Q4bNmw4bv+UKVMoKSnhww8/BKCurg6fz8ell17KM888A8Du3bs5ePAgkydPPu65HY9ZsWIFBQUF7S29kaSW2iRTUVEBKR8349vUDCoqCp0LJCIiIiIiUTd9+nTq6uoYPnw4Q4cOZejQoezYsYMLL7wQgKysLP74xz/idruPe15xcTF33303gUAAgO9///vH7U9NTeW5557j0UcfpampifT0dJYtW8aiRYt48MEHmTlzJh6Ph6eeegqv13vcc5944gnuvvtuZs2aRUZGBk8//XRUXrvpSbNxvJszZ45dt26d0zHiwsOPPMKmA8donhZcGyqleBOph9fx5ptvnvAfmYiIiIiInJ4dO3YwderU9seJtKRPvOr8ngIYY9Zba+d0dbxaapNMWVkZNvXj/uk2NQMItuAOGzbMqVgiIiIiIv1CfytA44EjY2qNMW5jzEZjzCtd7JtrjKkxxmwK3f7FiYyJyFpLRUXFxzMfAzYlWNSWlZU5FUtERERERCRqnGqpfRzYAXQ3Svhda+11McyTFOrq6mhrbSXQoaU2fL+8vNypWCIiIiIiIlET85ZaY8wIYD7wv7G+drILt8aGuxx3vN/VTGciIiIiIiKJzonuxz8B/h8QOMkxFxpjNhtjXjfGTO/qAGPM/caYdcaYdepaGxRuje04phZ3KsadopZaERERERFJSjEtao0x1wHHrLXrT3LYBmC0tfZM4L+AF7s6yFr7G2vtHGvtnEGDBkU+bAL6uKW2Q1FrDHgzNaZWRERERESSUqxbai8CrjfGFALPAlcYY/7Y8QBrba21tj50/zUgxRhTEOOcCSncxdimZB633efJ4GhpqRORRERERETEASUlJSxYsKDXz7v22muprq4+6TH/8i//wrJly/qYLPJiOlGUtfYbwDcgOMsx8BVr7e0djzHGnAGUWmutMeY8goV3RSxzJqpjx45hvJngOv67ikBqpsbUioiIiIjEwCN//wilFZFrUBqSP4Sf/8fPe/28YcOGsXjx4hO2+3w+PJ7uy8DXXnvtlOf+9re/3es80RQX69QaYx4EsNb+ClgAPGSM8QFNwEJrrXUyX6IoLS3Fn5JxwnbrzaKqZO8p/wMWEREREZHTU1pRSsk5JZE74ckGboZ87WtfY/To0SxatAiAJ554guzsbH73u9+xbds2nnrqKV599VWam5tpaGjglVde4a677mLnzp1MnTqVwsJCfvGLXzBnzhzGjBnDunXrqK+v55prruHiiy9m9erVDB8+nL/97W+kp6dz1113cd1117FgwQI+/PBDHn/8cRoaGvB6vSxfvpyKigruuOMOGhoaAPj5z3/OJz7xici9J504sk4tgLV2RXjZHmvtr0IFLdban1trp1trz7TWXmCtXe1UxkRztLSUQKeuxxAcYxtew1ZERERERJLLwoULee6559ofP//885x77rnHHbNmzRqefvpp3nrrLf77v/+b3NxctmzZwj//8z+zfn3XlfOePXt4+OGH2b59Ozk5OfzlL385bn9rayu33HILP/3pT9m8eTPLli0jPT2dwYMH8+abb7Jhwwaee+45Hnvssci/6A7UbJckrLWUlZVhcyeeuC81Cwh2Tx4yZEiso4mIiIiISBSdddZZHDt2jJKSEsrKysjNzWXUqFHHHXPllVeSl5cHwHvvvcfjjz8OwIwZM5g1a1aX5x07diyzZ88G4JxzzqGwsPC4/bt27WLo0KHtBfSAAQMAaGho4JFHHmHTpk243W52794dqZfaJRW1SaK2tpbWlhYCoQK2o0BoNuTS0lJmzpwZ62giIiIiIhJlCxYsYPHixRw9epSFCxeesD8z8+MenT0d3en1etvvu91umpqajttvrcUYc8LzfvzjHzNkyBA2b95MIBAgLS2tpy+jTxzrfiyR1T7zsbeL7sfeYKF79OjRmGYSEREREZHYWLhwIc8++yyLFy8+5azHF198Mc8//zwAH330EVu3bu3TNadMmUJJSQkffvghAHV1dfh8Pmpqahg6dCgul4s//OEP+P3+Pp2/p1TUJolwwWq7aKnFnYJJSdMMyCIiIiIiSWr69OnU1dUxfPhwhg4detJjFy1aRFlZGbNmzeKHP/whs2bNYuDAgb2+ZmpqKs899xyPPvooZ555JldeeSXNzc0sWrSIp59+mgsuuIDdu3cf10ocDSYZJhaeM2eOXbdundMxHPWXv/yFn/70pzScfRukpJ+wP2PbC3xi1iR++MMfOpBORERERCQ57dixg6lTp7Y/jpclfU7G7/fT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\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/home/khanh/Documents/KhanhBlog/deepai-book/book/_build/jupyter_execute/ch_appendix/appendix_matplotlib_33_1.png" }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "\n", "# Vẽ biểu đồ swarm\n", "plt.figure(figsize=(16, 8))\n", "sns.violinplot(x='Species', y='Sepal.Width', hue='Species', data = df_iris)\n", "plt.xlabel('Scale', fontsize=16)\n", "plt.ylabel('cm', fontsize=16)\n", "plt.title(\"Swarnplot of Sepal.Width\", fontsize=18)" ] }, { "cell_type": "markdown", "id": "3a3ac618", "metadata": { "id": "T3rZkJhSF-X6" }, "source": [ "Trong biểu đồ violin thì chúng ta có quan sát được dạng của phân phối theo density plot và các ngưỡng quantile theo boxplot." ] }, { "cell_type": "markdown", "id": "9b1d24b9", "metadata": { "id": "WNkt8LlByz3R" }, "source": [ "## 4.3.3. Histogram\n", "\n", "Histogram là biểu đồ biểu diễn phân phối của các biến liên tục bằng cách chia nhỏ chúng thành những bins có độ dài bằng nhau và thống kê số lượng các quan sát rơi vào từng bins." ] }, { "cell_type": "code", "execution_count": 15, "id": "d778fb3c", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 539 }, "id": "OuEmvo7VGg7h", "outputId": "90df9b6e-cd61-42e7-cbd5-bb31b528c9e1" }, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Histogram of Sepal.Width')" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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bLt1VZ1UVZ8b73edZU0AAAD0bdY9tscmefCibUckObm1tm+Sk8fHAAAAsCQzDbattVOT/M+izQ9P8rrx59clecQsawIAAKBv6+ZdQJLbtdYuSpLW2kVVddstNayqw5IcliR77733jMpjnvZcv3cu3Lxp3mUAAABr2FoItkvWWjsmyTFJsmHDhjbncpiBCzdvysFHnz7vMrp23OEHzLsEAABYVWthVeSvVtUeSTLeXzznegAAAOjIWgi270xyyPjzIUneMcdaAAAA6MysL/fzL0k+mOTHq2pzVf1WkhcmeWBVfS7JA8fHAAAAsCQznWPbWnvMFnbdf5Z1AAAAsONYC0ORAQAAYMUEWwAAALom2AIAANA1wRYAAICuCbYAAAB0TbAFAACga4ItAAAAXRNsAQAA6JpgCwAAQNcEWwAAALom2AIAANA1wRYAAICuCbYAAAB0TbAFAACga4ItAAAAXRNsAQAA6JpgCwAAQNcEWwAAALom2AIAANA1wRYAAICuCbYAAAB0TbAFAACga4ItAAAAXRNsAQAA6JpgCwAAQNcEWwAAALom2AIAANA1wRYAAICuCbYAAAB0bd28C9iR7bl+71y4edO8ywAAANihCbar6MLNm3Lw0afPu4yuHXf4AfMuAQAAWOMMRQYAAKBrgi0AAABdE2wBAADommALAABA1wRbAAAAuibYAgAA0DXBFgAAgK4JtgAAAHRNsAUAAKBrgi0AAABdE2wBAADommALAABA1wRbAAAAuibYAgAA0DXBFgAAgK6tm3cBAAAzs8u6VNW8q+ja7fdanws2nT/vMgB+gGALAOw8rr06Bx99+ryr6Npxhx8w7xIAfoihyAAAAHRNsAUAAKBrgi0AAABdE2wBAADommALAABA1wRbAAAAuibYAgAA0DXBFgAAgK4JtgAAAHRNsAUAAKBrgi0AAABdE2wBAADommALAABA1wRbAAAAuibYAgAA0DXBFgAAgK4JtgAAAHRNsAUAAKBrgi0AAABdE2wBAADommALAABA1wRbAAAAuibYAgAA0DXBFgAAgK4JtgAAAHRNsAUAAKBrgi0AAABdE2wBAADommALAABA19bNu4AFVXVeksuTXJPk6tbahvlWBAAAQA/WTLAd3be1dum8iwAAAKAfhiIDAADQtbUUbFuS91bVWVV12LyLAQAAoA9raSjyga21C6vq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\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/home/khanh/Documents/KhanhBlog/deepai-book/book/_build/jupyter_execute/ch_appendix/appendix_matplotlib_36_1.png" }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "\n", "# Vẽ biểu đồ swarm\n", "plt.figure(figsize=(16, 8))\n", "sns.histplot(x='Sepal.Width', data = df_iris, bins=10)\n", "plt.xlabel('Scale', fontsize=16)\n", "plt.ylabel('cm', fontsize=16)\n", "plt.title(\"Histogram of Sepal.Width\", fontsize=18)" ] }, { "cell_type": "markdown", "id": "9b1f3ba9", "metadata": { "id": "SeZXBfAPHPw7" }, "source": [ "Biểu đồ histogram sẽ không thể hiện rõ được xu hướng phân phối nếu ta chia các vùng của bin quá nhỏ. Vì vậy chúng ta có thể thêm một lựa chọn `kde=True` để vẽ thêm một đường density plot thể hiện mật độ phân phối liên tục hơn bên cạnh histogram." ] }, { "cell_type": "code", "execution_count": 16, "id": "034e4439", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 539 }, "id": "yTnajZWAG-Re", "outputId": "c75b3813-4faa-456e-8518-d52c1c7e7dda" }, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Histogram of Sepal.Width')" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/home/khanh/Documents/KhanhBlog/deepai-book/book/_build/jupyter_execute/ch_appendix/appendix_matplotlib_38_1.png" }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "\n", "# Vẽ biểu đồ swarm\n", "plt.figure(figsize=(16, 8))\n", "sns.histplot(x='Sepal.Width', data = df_iris, bins=50, kde=True)\n", "plt.xlabel('Scale', fontsize=16)\n", "plt.ylabel('cm', fontsize=16)\n", "plt.title(\"Histogram of Sepal.Width\", fontsize=18)" ] }, { "cell_type": "markdown", "id": "86134363", "metadata": { "id": "vOdXslNwy3HN" }, "source": [ "## 4.3.4. Density\n", "\n", "Mỗi một trường dữ liệu đều có một đặc trưng riêng của nó. Để lượng hóa những đặc trưng này, thống kê học sử dụng các đại lượng thống kê mô tả như `mean, max, median, standard deviation, percentile`. Để tính thống kê mô tả cho một dataset dạng pandas dataframe đơn giản là ta sử dụng hàm describe()." ] }, { "cell_type": "code", "execution_count": 17, "id": "8e7505f8", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 297 }, "id": "XA1YxvqzJRnW", "outputId": "fceff762-0955-48a0-a4e1-e01a085ea6ea" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Sepal.LengthSepal.WidthPetal.LengthPetal.Width
count105.000000105.000000105.000000105.00000
mean5.8123813.0761903.7266671.18381
std0.7843050.4558431.7490800.74616
min4.4000002.2000001.0000000.10000
25%5.2000002.8000001.6000000.30000
50%5.7000003.0000004.2000001.30000
75%6.3000003.4000005.1000001.80000
max7.9000004.4000006.9000002.50000
\n", "
" ], "text/plain": [ " Sepal.Length Sepal.Width Petal.Length Petal.Width\n", "count 105.000000 105.000000 105.000000 105.00000\n", "mean 5.812381 3.076190 3.726667 1.18381\n", "std 0.784305 0.455843 1.749080 0.74616\n", "min 4.400000 2.200000 1.000000 0.10000\n", "25% 5.200000 2.800000 1.600000 0.30000\n", "50% 5.700000 3.000000 4.200000 1.30000\n", "75% 6.300000 3.400000 5.100000 1.80000\n", "max 7.900000 4.400000 6.900000 2.50000" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_iris.describe()" ] }, { "cell_type": "markdown", "id": "7923da3a", "metadata": { "id": "hcJqj1zZJT1J" }, "source": [ "Tuy nhiên không phải lúc nào thống kê mô tả cũng là duy nhất đối với một trường dữ liệu. Một ví dụ tiêu biểu mà chúng ta có thể xem xét là phân phối `hình chú khủng long`.\n", "\n", "![](https://raw.githubusercontent.com/rweekly/image/master/2017-03/AllDinosGrey_1_scale.png)\n", "\n", "> Phân phối hình chú khủng long và các hình bên dưới có hình dạng hoàn toàn khác biệt nhau nhưng đều dựa trên 2 biến $(X, Y)$ có chung thống kê mô tả mean, phương sai và hệ số tương quan.\n", "\n", "Tất cả những phân phối trên đều có chung thống kê mô tả nhưng chúng khác xa nhau về bản chất của phân phối. Do đó không nên hoàn toàn tin tưởng vào thống kê mô tả mà bên cạnh đó chúng ta cần visualize phân phối của dữ liệu.\n", "\n", "Trong thống kê mỗi một biến liên tục được đặc trưng bởi một hàm mật độ xác suất (`pdf - probability density function`). Các phân phối điển hình như `standard normal, T-student, poisson, fisher, chi-squared` đều có những hình dạng phân phối xác suất khác nhau.\n", "\n", "![](https://phamdinhkhanh.github.io/assets/images/20190916_VisualizationPython/common_pdf_shape.png)\n", "\n", "\n", "> Đồ thị hàm mật độ xác suất của những phân phối xác suất standard normal, T-student, poisson, fisher, chi-squared.\n", "\n", "Về mặt lý thuyết (_theoreotical_) những phân phối này đều dựa trên những phương trình đáng tin cậy.\n", "\n", "Trong thực nghiệm (_empirical_) nhiều bộ dữ liệu cho thấy có hình dạng tương đồng với những phân phối này.\n", "\n", "Để tìm ra một hình dạng tương đối cho hàm mật độ xác suất của một bộ dữ liệu chúng ta sẽ sử dụng phương pháp KDE (kernel density estimate)\n", "\n", "**KDE là gì?**\n", "\n", "Hãy tưởng tượng tại mỗi một quan sát ta có đường cong phân phối đặc trưng. Hàm kernel sẽ giúp xác định hình dạng của đường cong trong khi độ rộng của đường cong được xác định bởi `bandwidth - h` (bandwidth horizontal, là độ rộng của KDE xác định theo chiều ngang). Phương pháp KDE sẽ tính tổng của các đường cong chạy dọc theo trục để hình thành nên đường cong mật độ xác suất tổng quát cho dữ liệu.\n", "\n", "![](https://phamdinhkhanh.github.io/assets/images/20190916_VisualizationPython/kde_shape.png)\n", "\n", "> Phương pháp KDE giúp xây dựng hình dạng phân phối của dữ liệu. Ở những nơi có nhiều điểm dữ liệu tập trung thì số lượng các đường cong chồng lấn lên nhau sẽ nhiều hơn và do đó khi tính tổng cộng dồn của nó ta sẽ thu được một giá trị lũy kế kernel density lớn hơn và trái lại với những nơi có nhiều ít điểm dữ liệu tập trung.\n", "\n", "\n", "Ngoài ra hình dạng `bandwidth - h` sẽ giúp xác định mức độ khái quát hoặc chi tiết của đường cong. Nếu ta muốn đường cong smoothing hơn thì cần thiết lập h lớn hơn và đường cong mấp mô hơn thì h cần nhỏ hơn. Tuy nhiên bạn đọc cũng không cần quá quan tâm đến bandwidth vì cách tốt hơn là sử dụng giá trị mặc định được tính trong matplotlib.\n", "\n", "Bên dưới ta sẽ thực hành vẽ hàm mật độ xác suất của `Sepal.Width` thông qua hàm distplot() của package seaborn." ] }, { "cell_type": "code", "execution_count": 18, "id": "8d1087bc", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 588 }, "id": "P6jQgD8bLzZO", "outputId": "e0bb128d-08e8-4866-9608-944563fa3eab" }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/khanh/miniconda3/envs/deepai-book/lib/python3.9/site-packages/seaborn/distributions.py:2619: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n", " warnings.warn(msg, FutureWarning)\n" ] }, { "data": { "text/plain": [ "Text(0.5, 1.0, 'Density of Sepal.Width')" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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de7cQmZc+wwAwOkQYAEggBYv3qHXX1+roqISNW0aoRtv7KFu3WKDXRaCID6+sX74w24aN66DPvtsq+bOzdLatXu0du0epaY208UXp6pXrziCLAAAp0CABYAAKC4u0ZtvrtOCBTmSpF694nT99d0VE8NtVRq65s0jdeWVnXXxxamaNWurPv98mzIy8vXPfy5Xu3bRGjMmReec01qhoSHBLhUAgDqHAAsANSwjI18vvLBSublFCg8P0VVXddYFFyTSs4bjNGkSrvHjO2rkyGR9+eV2ffppprZvL9QLL6zSe+9t0ujRKRo0KEHh4QRZAACOIsACQA0pK3OaPj1DH3zgG6gpMTFat9zSkxFncUqRkWEaOTJZQ4cmadGibE2fvkW5uUV6/fW1+vDDTbroomSlpAS7SgAA6gYCLADUgPx86T//ST9uoKYJE9LoPUOVhYeHaMiQRA0alKClS3dp+vQMZWUV6r//3aDISKlJk3m6/fa+io3lXrIAgIaLAAsAZ+itt9bp+eelQ4f2MVATzlhoaIjOPbeN+vVrrVWrduvjjzO0aVO+Hnxwgf7613T95Ce9dOed/dSuXUywSwUAoNbRNQAA1VRQcFg33PCxrr76Qx06ZOrVK0733z+I8IoaYWbq2TNev/71ubr2WqfRo1N04MAR/e1vS9Shw/O69dYZ2rhxb7DLBACgVhFgAaAavvoqR336vKKXX16tyMgwjR7t9LOf9WaUYdQ4M1P79tL06VcqPf1aXXllZx05UqrnnvtaZ531oq655kN9/XVusMsEAKBWEGAB4DsoLS3TQw8t1HnnvaFNm/bp7LPjtWTJtTrnHDHKMALunHPa6O23L9WaNTfqxht7KCTE9MYb63T22S/rkkve1fz524NdIgAAAUWABYAq2rZtv0aM+I/uvfdLlZSU6X//9xwtWvRDdesWF+zS0MB06RKrF18co02bbtHtt/dRVFSYPvxws8477w0NG/amPvkkQ865YJcJAECNYxAnAKiC//53vX784xnat++QWrdurJdeulhjxqQGuyw0cO3bN9Xjj4/QffcN1D/+sVSTJy/XnDlZmjMnS337tta99w6QF3Ps5MkvKjs7r1rrJiTEatKkm2q4IgBAXUGABYBTKCw8rDvumKUXXlgpSRo3roNefHG0WrVqEuTKgG+1atVEf/zj+brrrv566qnleuyxJVq6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7TRqVLJatowKdqkA0OARYAEck5VVoF/9arbeemu9JKlZM6drrumts8+O53RhAPWemdSzZ7x69ozXxo17NX36Fq1cuVuzZm3TnDlZGjCgjUaNSlFCAqOtA0CwEGABqKjoiP72tyV66KGFOniwRJGRYbr77v4qLJynTp1aBbs8AKh1nTq10G23tVBWVoE++WSLFi/eoQULcrRgQY569ozTyJHJOuusFvxzDwBqGQEWaMCcc3r77fW66665yszcL0maODFNjz46TMnJzXTvvfOCXCEABFdiYoxuvrmnLr20oz79NFPz5mVr5crdWrlytxITozViRLLOPbeNwsO5MyEA1AYCLFALJk9+UdnZedVaNz19hZKTR9VwRdKSJTt0xx2z9OWX2yVJPXvG6e9/H67hw9vX+HsBgNfFxzfWNdd01SWXdNTcuVmaPXubsrIK9fLLqzVlygYNG5ak1NTg1Jaevkz33vuXaq2bkBCrSZNuquGKACBwCLBALcjOzqt2CJ09e2GN1pKTU6h77/1SL720Ss5J8fFR+sMfhujmm3sqNJQeBAA4lZiYCI0b10GjRqVo8eIdmjkzU1lZhXr//U0KC5MOHpyhn/+8j3r0iK+1mgoLD1X7d0xm5owargYAAosACzQQxcUleuwx33WuhYVHFB4eol/8oq/uu2+QmjVrFOzyAMBTwsNDNHhwggYNaqv16/fqs88ytXLlbj333Nd67rmvdcEFiZo0qbcmTEhTeHhosMsFgHqDAAvUc85J//3vev3613O0ZYvvOtfLLuukv/xlqNLSWgS5OgDwNjNTly4t1aVLSy1dOkOhoX30yiurNXdulubOzVLbtk1066299OMf91K7djHBLhcAPI/zBYF6bOvW/XrtNemqqz7Qli371aNHnD777CpNnXo54RUAalhsrDR58khlZ/+PJk8eoW7dYpWTc0APPrhAycnP6qqr3tfs2VvlnAt2qQDgWQRYoB7at69Yr7yyWg89tEjbtpni4qL09NMXadmy6zViRHKwywOAei0mJkI/+1kfrVp1g2bN+p6uuqqzJOm///1GF174H3Xr9i89+uhi5eYeDHKlAOA9nEIM1CPFxSX69NNMzZixRYcPlyk01NSvX5mmT79ZzZtHBrs8AGhQzEzDhrXXsGHtlZ1dqGefXaFnn/1a69bt0a9+NUd33/2FLr+8k265pZfo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\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/home/khanh/Documents/KhanhBlog/deepai-book/book/_build/jupyter_execute/ch_appendix/appendix_matplotlib_42_2.png" }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "\n", "# Vẽ biểu đồ density\n", "plt.figure(figsize=(16, 8))\n", "sns.distplot(df_iris['Sepal.Width'], \n", " hist = True, \n", " bins=int(180/5),\n", " kde = True,\n", " color = 'darkblue', \n", " hist_kws={'edgecolor':'black'},\n", " kde_kws={'linewidth':2})\n", "plt.title(\"Density of Sepal.Width\", fontsize=18)" ] }, { "cell_type": "markdown", "id": "731aea43", "metadata": { "id": "0ptR6PoS5pOJ" }, "source": [ "## 4.3.5. Heatmap matrix\n", "\n", "Heatmap maxtrix là biểu đồ biểu diễn các giá trị của các ma trận có độ lớn thay đổi theo màu sắc. Biều đồ này hay ở chỗ các giá trị càng lớn thì màu sắc càng sáng và giá trị nhỏ thì màu sắc sẽ tối hơn.\n", "\n", "Đây là biểu đồ thường được sử dụng để visualize kết quả confusion-matrix của mô hình phân loại hay kết quả của ma trận hệ số tương quan giữa các biến.\n", "\n", "Tiếp theo ta sẽ thống kê trung bình của các measurements theo các loài hoa và vẽ biểu đồ heatmap matrix thể hiện độ lớn giữa từng loài hoa theo các metric." ] }, { "cell_type": "code", "execution_count": 19, "id": "19931bef", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 173 }, "id": "O8p2r0ZYNs0l", "outputId": "918a4f35-db03-4e5b-da83-4e602e57448e" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Sepal.LengthSepal.WidthPetal.LengthPetal.Width
Species
setosa5.0714293.5171431.4714290.251429
versicolor5.8257142.7485714.1828571.311429
virginica6.5400002.9628575.5257141.988571
\n", "
" ], "text/plain": [ " Sepal.Length Sepal.Width Petal.Length Petal.Width\n", "Species \n", "setosa 5.071429 3.517143 1.471429 0.251429\n", "versicolor 5.825714 2.748571 4.182857 1.311429\n", "virginica 6.540000 2.962857 5.525714 1.988571" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Thống kê trung bình các measurements của các loài hoa\n", "df_summary = df_iris.groupby('Species').mean()\n", "df_summary" ] }, { "cell_type": "markdown", "id": "1f6f7dcb", "metadata": { "id": "kG5TqOwEQG1D" }, "source": [ "Vẽ biểu đồ heatmap thể hiện tương quan giữa độ lớn của giá trị trung bình theo màu sắc." ] }, { "cell_type": "code", "execution_count": 20, "id": "06442811", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 282 }, "id": "HIlB1wANOID0", "outputId": "72003f53-3db8-4de3-f5cf-2724811137db" }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/home/khanh/Documents/KhanhBlog/deepai-book/book/_build/jupyter_execute/ch_appendix/appendix_matplotlib_46_1.png" }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sns.heatmap(df_summary)" ] }, { "cell_type": "markdown", "id": "c7ad3d18", "metadata": { "id": "HKql51WtQU4a" }, "source": [ "Chúng ta muốn thể hiện con số trên biểu đồ thì dùng thêm `annot=True`" ] }, { "cell_type": "code", "execution_count": 21, "id": "cf338fd7", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 282 }, "id": "UV-vKWSHQZqD", "outputId": "03606912-4b6c-4e78-f10f-add97a79df5e" }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWIAAAD4CAYAAADW1uzrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8/fFQqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAlw0lEQVR4nO3dd5wV1fnH8c+zhc7SUVAUsaCIClgRCyj2FsVo/JlEwViIGrvBEmv8xfLTaKJGUVTsYotdsYBGURSUKoKIGGkqKB2W3b3P74+ZhV3c3Xt3986du9fv29e89s6dM3MexrvPPXvmzBlzd0REJD55cQcgIvJLp0QsIhIzJWIRkZgpEYuIxEyJWEQkZgVxB1Cd1befqeEcodm3L4g7hKwxLFEWdwhZY/SiyXGHkDVK1823+h6jZPGclHNOYftu9a6voqxNxCIiGRXjl7wSsYgIgCdiq1qJWEQEIKFELCISK1eLWEQkZmWlsVWtRCwiArpYJyISO3VNiIjETBfrRETipYt1IiJxU4tYRCRmZSWxVa1ELCICulgnIhI7dU2IiMRMLWIRkZipRSwiEi9PpO9inZm1Bu4HegIODHH3D6srr0QsIgLpbhHfAbzu7sebWSOgWU2FlYhFRCBtfcRmVgTsB5wK4O7rgHU17aNn1omIQDDpT4qLmZ1hZhMqLGdUOFI34AfgQTP7zMzuN7PmNVWtRCwiAkGLOMXF3Ye7+24VluEVjlQA9AH+5e69gVXAsJqqViIWEYGgjzjVpWbzgHnuPj5cf4YgMVdLfcQiIpC2ieHdfZGZfWtm3d19JnAg8HlN+ygRi4hAukdNnAs8Fo6YmAMMrqlwpInYzDoAfwZ6AE3K33f3A6KsV0SkttzT94QOd58E7JZq+aj7iB8DZgBbAdcCc4FPIq5TRKT20tdHXGtRJ+J27j4CKHH3d919CLBXxHWKiNReLUZNpFvUfcTl9wwuNLMjgAXA5hHXKSJSezk818RfzawVcBHwT6AIuCDiOkVEai9NoybqItJE7O4vhy+XAQOirEtEpF5inAYz0j5iM7vZzIrMrNDM3jazxWb22yjrFBGpkxy+WHewuy8HjiS422Q74JKI6xQRqb0YE3HUfcSF4c/DgSfc/Uczi7jK2msy5AZYVxzcQ55IUPzE/1babm02odHBp5LXoQsl416g9NM3Y4o0Wta4kK2fuhFrXIjl57PstQ/47u+PVyrTfK+edB1+JevmfQfAstc/5Pt/PBlHuJE7/5bz2ePAPVi6ZCl/POiPP9u+0147cdX9V7Ho20UAjHt9HE/c8USmw4zMIQf357bbriM/L48HHnyCm2+5q9L2k046lksuDs7LqpWrOfvcy5gyJbiBbPasj1ixciVlZQlKS0vZq+/hGY+/1nL4CR0vmdkXwBrgj+ENHmsjrrNO1j5zK6xdVeU2X7uakrFPkr91r8wGlWFeXMKc/7mCxOq1UJDPNs/cxIqxE1n92cxK5VZ98jlzT7supigz562n3+KlkS9x0d8vqrbM9E+mc83gazIXVIbk5eXxjztu4NDDT2LevIV89OGrvPTyaGbM+HJ9mblff8sBBx7P0qXLOPSQAdxz903svc9R67cPPOjXLFnyUxzh102MF+si7Zpw92FAX2A3dy8hmIXomCjrjMSaFSS++yaYAi/HJVYH35NWUIAVFODuMUcUn2kfT2PF0hVxhxGLPXbvzVdfzeXrr/9LSUkJo0a9wNFHHVKpzIcfTWDp0mUAfDT+UzbbrFMcoaZPrvYRm1kh8DvgKTN7BjgNWBJlnXXi0OS482ly0uXk99w37mjilZfHtq/eQY+Jj7Di/c9YM2nWz4o069OdbV/7B10fuobG224RQ5DZY/s+23Pn63dy3cjr2GK73DkXnTfblG/nLVi/Pm/+Qjp33rTa8kMG/4bX3xizft3dee3VJxj/0Wv84bSTI401bXL4ho5/EfQT3x2u/y587w8R11srxaNuxlctg6YtaXLcefhPi0jM/zL5jrkokeDLw88jr6g5Xe+9nMbbbUHxrP+u37xm2ld80e80EqvX0rL/rnQdfgUzB5wZY8DxmT1tNqf2PZW1q9ey24Dd+Mt9f+H0/U+PO6y0qOpaTnV/HfXff28GDz6J/fsfu/69/fr/ioULv6NDh3a8/tqTzJw5m/+8P77K/bNGjDd0RD1qYnd3P8Xd3wmXwcDu1RWuOOv9A+NmRBzaBr4q+POKNSso+2oSeZt0zVjd2SqxfBUrP5pKy/13rfz+yjXruy9WjJ2IFeaT36YojhBjt2blGtaG52LCmAkUFBRQlCPnYv68hXTZvPP69c0368TChd/9rNxOO+3AvffcwnGDhvDjjxv6g8vL/vDDEl544TV2371X5DHXW652TQBlZrZ1+YqZdQOq7WitOOv9kL13iDi0UEEjKGy8/nXeFj1ILFlQ8z45Kr9tEXlFwRNdrHEjWvbrRfFX8yqVKejQev3rprtsC5ZH2U/LMxlm1mjToc3619vtsh2WZyzPkXPxyYRJbLPNVnTt2oXCwkJOOOEYXnp5dKUyXbp05umn7uPUwefx5Zdz1r/frFlTWrRovv71QQP3Z/r0yhd8s5J76kuaRd01cQkwxszmAAZsCQyJuM5asWZFND7qrGAlL5/SLz4m8c10CnbaD4DSqe9BsyKanHQ51qgJ4BT0PpC1j1wD67JyAEidFXZsS5dbz4e8PCwvj6WvvM+Kdz6h7cmHAvDjY6/T6rB+tPvt4XhZGYm1xfz33JvjDTpCl/7zUnbuuzNFbYp4ePzDPHrboxQUBr8yrz76Kv0O78cRvzuCstIy1q1dx03n3BRzxOlTVlbGeedfyauvPE5+Xh4PjXyKzz+fxRmn/w6A4fc9wpVXXEC7dm345z+D4Z7lw9Q22aQDzzw9AoCCgnyefPLfvDF6bFz/lNSVxjdqwqK8Km5mYVOT7gSJ+AsAdy9Otu/q28/85V6u38js23+ZLfSqDPsFjFxJ1ehFk+MOIWuUrptf7xsU1jx6Rco5p+lvb0jrDRFRt4g/dPc+wJTyN8zsU5I8v0lEJONybfY1M9sU2Axoama9CVrDEMy+1iyKOkVE6iXGMfNRtYgPAU4lmHv4tgrvLwcuj6hOEZG6y7UWsbuPBEaa2SB3fzaKOkRE0iqHxxF/YGYjzOw1ADPrYWanRVyniEiteVlZyku6RZ2IHwTeAMpHhs8Czo+4ThGR2svhGzrau/soIAHg7qXUcEOHiEhscniuiVVm1g5wADPbi+CxSSIi2SWRe6Mmyl0IvAhsbWYfAB2A4yOuU0Sk9nJt1EQFWwOHAV2AQcCeGahTRKT20ngRzszmAisIumJL3X23mspH3Uf8l/CZdW2AgcBwgmkwRUSyS/ov1g1w917JkjBkYPa18OcRwD3u/gLQKOI6RURqL+GpL2kWdSKeb2b3AicAr4aTAEVdp4hI7aV31IQDo81sopmdkaxw1P21JwCHAv/n7kvNrBPB1JgiItmlFi3dMLlWTLDD3X14hfV+7r7AzDoCb5rZF+7+XnXHizQRu/tq4LkK6wuBhVHWKSJSF16LURNh0h1ew/YF4c/vzex5YA+g2kSsbgIREQhGTaS61MDMmptZy/LXwMHAtJr20VAyERFI50W4TYDnwwewFgCPu/vrNe2gRCwiAmm7ocPd5wC71GYfJWIREcjpW5xFRBqGCCbzSZUSsYgIqEUsIhI3L41vhl4lYhERUItYRCR26iMWEYmZWsQiIvFyJWIRkZjpYp2ISMzUIhYRiZkSsYhIvNyViEVE4qUWsYhIzJSIf8567Rl3CFnj05J34g4hazzS59u4Q8gaxyd6xB1CTvFS3dAhIhKv+PKwErGICOiGDhGR+CkRi4jETF0TIiLxUteEiEjMvFSJWEQkXuqaEBGJV4zzwisRi4gAahGLiMRNLWIRkZh5aXx1KxGLiJD+FrGZ5QMTgPnufmRNZZWIRUSIpGviPGAGUJSsYF7aqyb4JjCzR6M4tohIJNxSX5Iws82BI4D7U6k6kkTs7mVABzNrFMXxRUTSzROpL2Z2hplNqLCcsdHhbgcuJcWxGFF2TcwFPjCzF4FV5W+6+20R1ikiUieeSN7SXV/WfTgwvKptZnYk8L27TzSz/qkcL8pEvCBc8oCWEdYjIlJvibLUE3ES/YCjzexwoAlQZGaPuvtvq9shskTs7tcCmFnLYNVXRlWXiEh9petinbtfBlwGELaIL64pCUOEidjMegKPAG3D9cXA7919elR1iojUVW26JtItpYt1ZnaemRVZYISZfWpmByfZbThwobtv6e5bAhcB99U3YBGRKLinvqR+TB+bbAwxpD5qYoi7LwcOBjoAg4Ebk+zT3N3HVAwIaJ5ifSIiGeUJS3lJt1S7JsprPhx40N0nm1myaOaY2V8IuicAfgt8XYcYRUQil8aLdbWWaot4opmNJkjEb4QX4JJ1bQ8haD0/BzzPhpa0iEjWaQgt4tOAXsAcd19tZu1IklTd/SfgT/ULT0QkMzyFO+aikmoidqAHcCRwHUFfb5OqCprZS2H5qg/kfnQtYxQRiVxDmAbzboKuiAMIEvEK4Flg9yrK/l96QhMRyZxEA2gR7+nufczsMwi6HaqbR8Ld3y1/HZbZLlyd6e4l9YpWRCQiDaFroiScW9MBzKwDSS7WhXeUjCSYc8KALmZ2iru/V9dgRUSiEueoiVQT8T8IRj50NLMbgOOBK5PscytwsLvPBDCz7YAngF3rGKuISGTivLMupUTs7o+Z2UTgQILW7a/cfUaS3QrLk3B4jFlmVlj3UEVEopO1fcRmVuTuy82sLfA9QYu2fFtbd/+xht0nmNkINtzQcTIwsb4Bi4hEIZv7iB8nGLI2kcpD0ixc71bDvkOBswnGEhvwHsHoi6xz2OX/onnjRuTl5VGQl8fjV5xSafuKNcVcMeIlFv20nNKyBL8/aA9+1W/nmKKNTrPObdn3jrNo2qEVnnBmPTaGGSPeqFRmx7OOYOvj9gbA8vNote1mPLnzUNYtXVXVIRu+vDxa3TacxI8/sOK6yyptarT/QJoO+h8AfO0aVt19G2Vzv4ojyshd+n8XsdfAPVm6eClDBm48Bzr0O7gvgy85FU84ZaVl3HnN3Uz7pGHN71WbOSTSrcZEXD5ZhbtvVcdj31E+EXx4sa9xHY6TEfdddBJtWjSrcttTYz6lW6f2/OOc4/lxxWp+ddV9HLHnjhQW5Gc4ymh5aYJPrn2cH6fNpaB5E456/XoWvDeVZV8uWF9m+j2vMP2eVwDY/KDe7Hj6obmbhIEmRx1P2bxvsGY//2wkvlvI8sv+hK9aSeGue9L8nItZfvHQGKKM3utPj+b5h17gstsvrXL7xPc/44PRHwLQbYetuPpfV3JK/9MyGWK9xdk1kersa8eaWasK663N7FdJdnsbaFphvSnwVq0jzAJmsKp4He7OmuJ1tGrehPy8SJ4yFas13y/lx2lzAShdtZZlXy6g2aZtqy3f7Zi+zPn3hxmKLvPy2nWg0e57sXb0y1VuL/1iOr5q5frX+e07ZDK8jJoyfirLl66odvva1WvXv27StEmsrcu6SiQs5SXdUh01cbW7P1++4u5Lzexq4N817NOk4mTw7r7SzKpucsbMMIbePgozGLRvL47fr1el7b8Z0Ifz7nqOgy69i1XF67jp9GPIy4vv2zMTWmzenrY9t2TxZ1X/qZ3fpBGb9d+Zj64cmeHIMqfZ6eew6sF7sKbJP7aNDz6CdRPHZyCq7LXPof04fdgQWrdvzWW/TzaoKvtkfYu4mnLJkvgqM+tTvmJmuwJratqh4gP5Rrz0bk1F0+qhS0/myStP5a5zf82odz9l4qxvK20fN/1runfpyJs3n81TVw7mxifeZOWa4ozFl2kFzRrT/77z+PjqRylZWfX/si4H9+b7CbNytluicPe++LKllH01K2nZgp160/igI1j90L0ZiCx7vf/6B5zS/zT+cto1DLnk1LjDqTV3S3lJt1RbxBPM7DbgLoKLdOeSfATE+cDTZlbewdgJOLGmHSo+kG/N2Acy9sdNx9bBI/XaFjVnQK/tmDZ3Abtu12X99hfGTWXIoXthZmzRsQ2btW/F14uWsNNWnTMVYsZYQT4D7juPOc+P47+vTai23FZH53a3ROEOPSncY29a77on1qgR1qw5LS68gpW33VCpXH7XbrQ49xKWX3MpvmJ5TNFmlynjp9J5y04UtSli+U8N55w0hBbxucA64ClgFEHL9uyadnD3T4DtCUZP/BHYwd2zbvjamuJ1rFpbvP71h59/zTadK/f1dWpbxPgvvgFgyfJVzP3uRzbv0DrToWZEv1v/wLLZC/h8+GvVlils2ZRN99qeb9/4NIORZdbqh+9j6eBfs/QPv2HFzddRMuXTnyXhvA4daXnZ9ay87QYSC+bFFGl26Nx1Q6Nk257bUNCosEElYQhamKku6ZbqDR2rgGFm1iLZQ0DN7AB3f8fMjtto07Zmhrs/V9dgo7Bk+WouvCcIqbQswWF79KBfz248/e5nAPx6/96cfsTeXPXQqxx/7QgcOP/Y/tWOsGjIOu6+Hdscvy8/fv5fjh4dJJ2JN46ixWbtAJj5yDsAbHnYbix4byqlOdw9U53GhwaTBxa//iJNf3MKVtSK5kMvCDaWlbHswjNjjC46V955Ob367kyrtq0Y9cnjPHTrw+QXBOnjpUdfZr/D9+WQQQMpLS2jeG0x1w39a8wR115ZIr4L8OYpXN40s72B+4EW7r6Fme0CnOnuf6yi7LXufrWZPVjFodzdh6QSWCa7JrLdUye/E3cIWeOoPt8mL/QLcfxnVc679Ys0Zt6b9e5X+M+mx6ecc/Zd9Exa+zFS7SP+O3AI8CJA+Kik/aoq6O5Xhz/1NA4RaTCc7O8jxt03boqU1VR+oyc/35/ik59FRGKR8NSXdEs1EX8bdk+4mTUys4uBZJP+VHzyc0dSe/KziEgsEljKS7qlmojPIhglsRkwn+D5dTWOmqCKJz9XeE9EJKs4lvKSbqmOmlhMMHtabZQ/+Xkr4LIUn/wsIhKLsmzvIzazbmb2kpn9YGbfm9kLZlbtzGtmZsBVwDBgd3dfDTQiyZOfRUTikqjFkm6pdk08TnAjRyegM/A0FeYm3pgHY+L+7e6fuvvS8L0l7j6lfuGKiEQjXYnYzJqY2cdmNtnMppvZtcnqTjURm7s/4u6l4fIoyW8w+cjMqnrKs4hI1kljH3ExcIC770JwPe1QM9urph1SHUc8xsyGAU8SJOATgVfCJ3dQzZM6BgBnmdlcYBXhZPLunnszqotIg5eu2S3DHoHyO5ALw6XGhmuqibh8sp7yqfnLQx5C9U/qOCzFY4uIxK42w9LM7Aw25EOA4eGkZeXb8wkmRtsGuMvda5wjNdkz63YHvi1/QoeZnQIMAuYC19T0zDp3/8bM9gG2dfcHzawD0KKm+kRE4lLjHWobqThTZDXby4BeZtYaeN7Merr7tOrKJ+sjvpdg1jXCW5r/BowEltUURFj+auDPQPmDvgqBR5PUJyISi4RZykuqwsEKY4FDayqXLBHnV2j1nkjQ/H7W3f9C0OSuybHA0QT9w7j7AqBlkn1ERGKRrmkwzaxD2BLGzJoCA4EvatonWR9xvpkVuHspcCCV+0SS7bvO3d3MPAyoeZLyIiKxSeP44E7AyLCfOA8Y5e5VP/gwlCyZPgG8a2aLCSaD/w+AmW1D0D1Rk1Fmdi/Q2sxOJ7iwd1/yf4OISOalcdTEFKB3bfapMRG7+w1m9jZBhh/tGyYvziN4akdNEgSJezmwHXCVu79Zm+BERDIlzluckw5fc/ePqngv+RMVg/7g04AfCcYf6646Ecla6WoR10VkzwZx92vdfUeCWdo6E3RxvBVVfSIi9RHnXBOp3tBRH98Di4AlBPMSi4hknTifzRZZi9jMhprZWOBtoD1wum5vFpFslbDUl3SLskW8JXC+u0+KsA4RkbSIc7L0yBKxuw+L6tgiIulWFuPFukz0EYuIZL2cbBGLiDQkSsQiIjGLc9SEErGICPHe0KFELCKCuiZERGJXm4nh002JWEQEdU2IiMROXRMiIjHTqIkqFPTsH3cIWaN1mSatK9ds8CFxh5A1dpw6Oe4QckoixlSctYlYRCSTdLFORCRm6iMWEYmZRk2IiMRMfcQiIjHTqAkRkZipj1hEJGZl6poQEYlXnC3iyB4eKiLSkCTwlJeamFkXMxtjZjPMbLqZnZesbrWIRURI68W6UuAid//UzFoCE83sTXf/vLodlIhFREhf14S7LwQWhq9XmNkMYDNAiVhEpCa1uVhnZmcAZ1R4a7i7D6+iXFegNzC+puMpEYuIULsbOsKk+7PEW5GZtQCeBc539+U1lVUiFhEhvTd0mFkhQRJ+zN2fS1ZeiVhEhPTd4mxmBowAZrj7banso+FrIiIEF+tSXZLoB/wOOMDMJoXL4TXtoBaxiAjgaWoRu/v7QK3mclMiFhEh3lucI+uaMLO9zOwTM1tpZuvMrMzMarxyKCISlzR2TdRalC3iO4HfAE8DuwG/B7aJsD4RkTpLeI5O+uPus80s393LgAfNbFyU9YmI1FWuzke82swaAZPM7GaCW/6aR1ifiEidxfmEjiiHr/0uPP45wCqgCzAowvpEROrMa/FfukXZIl4MrHP3tcC1ZpYPNI6wPhGROivN0Rbx20CzCutNgbcirE9EpM5ytUXcxN1Xlq+4+0oza1bTDiIiccnVJ3SsMrM+5StmtiuwJsL6RETqzN1TXtItyhbx+cDTZrYgXO8EnBhhfSIidRbnqInIErG7f2Jm2wPdCe67/sLdS6KqT0SkPnLqKc5mdoC7v2Nmx220aVszI5W5OUVEMi3XWsT7A+8AR1WxzQElYhHJOlH0/aYq7YnY3a8Ofw5O97GjsnzFSq6+8XZmz/kGzLj+8gvo1XOH9ds//nQKfxp2LZt12hSAgfvvzdAhJ8cVbkblNS5k339fRV6jAqwgnwUvj+eLW56NO6yMOOymZ2jeuJC8PKMgL4/Hzzmy0vZP5izigoffoXPbFgAcuOOWnHngLnGEmnGtO7Xj97edTVGH1ngiwQdPvM3YB1+LO6x6iXPURGR9xGbWmOBOuq4V63H366Kqs65uvP0e+u25G3+/4UpKSkpYs7b4Z2X67NKTu2+5Nobo4pUoLuH9QX+lbHUxVpDPvi9ezXdvT+anT2fHHVpG3Hf6IbRp3qTa7b27bsI/Tz0wgxFlh0RpGc/99RHmTf+axs2b8OeX/sYX/5nCotnz4w6tzqIYH5yqKIevvQAcA5QS3OJcvmSVlatWMXHyNAYddQgAhYWFFLVsEXNU2aVsdfDFlFeYT15BPsT4J5xkh+U/LGXe9K8BKF61lkVfzaf1pm1jjqp+EnjKS7pFOXxtc3c/NMLjp8W8+Yto07oVV95wGzNnz6FH920Zdv5ZNGtauRU0edoMjjvlj3Rs346Lz/4D23TbMqaIY5BnDBh9A8232pQ5D47mp8++ijuijDAzhj7wJgYM2rM7x++x3c/KTPnvD5xwx4t0KGrGBYfvyjabtMl8oDFru3kHNu+xFXMnNey/kso8vs6JKFvE48xspwiPnxalZWXMmDWbE489gmceuoumTZsw4pFRlcr06L41bz47kudG3s3/DDqKP12Wdb0r0Uo4YwZezhu9z6FN761puf3mcUeUEQ+ddRhPnnsUdw0eyKgPv2Di14sqbd+hc1te+/MgRp13NL/puz0XPDImpkjj06hZY/7wrwt59rqRrF3ZsO/XivMW5ygT8T7ARDObaWZTzGyqmU2paQczO8PMJpjZhPsffiLC0DbYtGN7NunQnp133B6Ag/vvw+ezKn+zt2jenGbNmgKw3957UFpayk9Ll2UkvmxSsnw1i8fNYJMBv4wLUh2Lgjvy27ZoyoAdt2Dat4srbW/RpBHNGhcCsO/2m1NaluCnVWszHmdc8gryOf2ei5jw7/eZ/MbHcYdTbwn3lJd0i7Jr4rDa7uDuw4HhACWL52SkI7J9u7Zs2rEDX38zj6223JyPJk5i665bVCqzeMmPtGvbBjNj6uczSbjTulVRJsKLXaN2LfGSMkqWryavSSEd9u3Jl3e9FHdYkVuzroSEQ/PGhaxZV8KHXy7gzAMqfwEtXrGGdi2aBJ+Lb3/AHVo3++VMMHjyTWexaPZ83hnxStyhpEVOTQxvZkXuvhxYke5jR+XyC4by52tvpqS0hC6dO3H95Rfw1PPBh+vEY49g9Jj3eer5V8gvyKdJo0bccu0wzGr1kNYGq0nH1vT5x1AsPw/LM+a/+BHfvflZ3GFFbsnKtVwYdjWUJhIc1qsb/bpvxtPjZwLw6z2789bUuYwaP5OCvDwaF+Zz40n7/WI+F912686eg/Zj/oxvGPbqTQC8ePMTfD52UryB1UOcN3RYugcxm9nL7n6kmX1N8CVT8ZPp7t4tleNkqkXcELzS88q4Q8gah9zdM+4QssYlF06OO4Sscefcp+r9Ddh3swEp55wP549J6zduFDd0HBn+3CrdxxYRiUqcoyaivKGjTxVvLwO+cffSqOoVEamLOG/oiPJi3d1AH2AKQffETsBkoJ2ZneXuoyOsW0SkVuKcayLK4Wtzgd7uvpu77wr0AqYBA4GbI6xXRKTW0nlnnZk9YGbfm9m0VOqOMhFv7+7Ty1fc/XOCxDwnwjpFROokzU/oeAhI+c7iKLsmZpnZv4Anw/UTw/caA5ogXkSySlka519z9/fMrGuq5aNsEZ8CzCZ4ZNIFwBzgVIIkPCDCekVEaq02d9ZVvAs4XM6oT92RtIjNLB94yd0HArdWUWRlFe+JiMSmNqMmKt4FnA6RJGJ3LzOz1WbWyt1/eZMyiEiDE8UcEqmKso94LTDVzN6kwjzE7v6nCOsUEamTXB1H/Eq4iIhkvXS2iM3sCaA/0N7M5gFXu/uI6spHlojdfWRUxxYRSbd03uLs7ifVpnwUs6+NcvcTzGwqVcws5+47p7tOEZH6yrWuifPCnw8CHwPfRlCHiEhaeS5N+uPuC8OXLYF7gR8Jbup4xt2/S3d9IiLpEOd8xJHd0OHu17r7jsDZQGfgXTN7K6r6RETqI823ONdKlKMmyn0PLAKWAB0zUJ+ISK3F2SKOcj7ioQTzS3QAngFODyf+ERHJOmWJHOojrmBL4Hx3nxRhHSIiaZFroyYAcPdhUR1bRCTd4pwYPhN9xCIiWS8n+4hFRBoStYhFRGKWqxfrREQaDHVNiIjETF0TIiIxy9WJ4UVEGoycHEcsItKQqEUsIhKzRC5Ngyki0hDpYp2ISMyUiEVEYhZfGgaL81ugITCzM9x9eNxxZAOdiw10LjbQuai/yJ7QkUPOiDuALKJzsYHOxQY6F/WkRCwiEjMlYhGRmCkRJ6e+rw10LjbQudhA56KedLFORCRmahGLiMRMiVhEJGYNIhGb2RVmNt3MppjZJDPbM43H7m9mL1fxflczm5aueqqp+/K61hfTOXnezH5VYX2mmV1ZYf1ZMzvOzM4ys99Xsf/6f6OZ9TKzwytsu8bMLq5lnGXhv32amT1tZs1qKFupvhrKNcjPw0bHyeR5yarPREOV9YnYzPoCRwJ93H1nYCDwbbxRpc3lyYv8XIznZBywdxhDO2Al0LfC9r7AOHe/x90fTnKsXkDSBJDEGnfv5e49gXXAWRHXF7U6fR6qkMnzkm2fiQYp6xMx0AlY7O7FAO6+2N0XmNmuZvaumU00szfMrBOAmY01s9vNbFzYItgjfH+P8L3Pwp/d6xJMknpvMrOPzWyWme0bvt/MzEaFLdenzGy8me1mZjcCTcOWy2Ph4fPN7L6wpTvazJpm2Tn5gPCXLvz5MtDBAlsRJIBFFVsyYUyTzexD4OzwvUbAdcCJ4b//xPCYPcJY55jZn1L/vwLAf4BtzKy5mT1gZp+E/65jqqovxz4PcZ6XbP5MNBzuntUL0AKYBMwC7gb2BwoJvok7hGVOBB4IX48F7gtf7wdMC18XAQXh64HAs+Hr/sDLVdTbtXzfCu8lq/fW8PXhwFvh64uBe8PXPYFSYLdwfeVG9ZUCvcL1UcBvs+ycNAaWAo2AvwGHAo8APYCTgYfDctcAF4evpwD7h69vqVD3qcCdFY59TRh/Y6A9sAQoTPLZWBn+LABeAIYC/1t+3oDW4TlqXkV9OfN5iPm8ZNVnoqEuWT/pj7uvNLNdgX2BAcBTwF8JPsRvmhlAPrCwwm5PhPu+Z2ZFZtYaaAmMNLNtCeb3KKxDON2T1Ptc+HMiwS8SwD7AHWE808xsSg3H/9rdJ1VxjEriOifuXmxm04E+wF7AzUA3gpZQb4JfmvXMrBXQ2t3fDd96BDishipe8aCVX2xm3wObAPNqKN/UzCaFr/8DjAhjONo29C02AbaoYt9W5MjnoQoZOy9Z+JlokLI+EQO4exlBC2OsmU0l+HNmurv3rW6XKtavB8a4+7Fm1jU8Xm1ZknqLw59lbDi3VovjF1d4XQZU+6dojOdkHEGruqW7/2RmHwHnEPzS3bNRWaui3pps/O9P9vlc4+69KlUYZMRB7j5zo/c3vpiZU5+HjWT6vGTTZ6JByvo+YjPrHn47l+sFzCDoh+oblik0sx0rlDkxfH8fYJm7LyP4pp8fbj+1juHMTFJvVd4HTgjL9wB2qrCtxMxq3RKL+Zx8AJwJTA7XpxC0hLYAplcs6O5LgWVhnRD8qVpuBUGLPN3eAM4NEw9m1rua+nLm85CiKM9Ltn8msl7WJ2KC/tCRZvZ5+GdcD+Aq4HjgJjObTNBfuneFfX4ys3EE38anhe/dDPzNzD4g+BPyZ8KLJvdXeKu7mc0rX4BjktRblbsJflmnAH8m+JAuC7cNB6ZUuDiTqjjPyTiCPz0/BHD3UuB7YIJ7lc+aGQzcFV6YWVPh/TEEF2IqXphJh+sJ/pyeYsGwqOurqS+XPg+piPK8ZPtnIuvl3C3OZjaW4KLAhLhjATCzfIILDGvNbGvgbWA7d1+XwRjGkkXn5JcsGz4Pkn1ysr8lyzQDxoR/chowVL90v2j6PMjP5FyLWESkoWkIfcQiIjlNiVhEJGZKxCIiMVMiFhGJmRKxiEjM/h9ldHdDcFfGvAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/home/khanh/Documents/KhanhBlog/deepai-book/book/_build/jupyter_execute/ch_appendix/appendix_matplotlib_48_1.png" }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sns.heatmap(df_summary, annot=True)" ] }, { "cell_type": "markdown", "id": "f8837455", "metadata": { "id": "tS-5nhG1QqOX" }, "source": [ "Như vậy nhìn vào biểu đồ ta có thể thấy `Virginica` là loài hoa có `Sepal.Length` và `Petal.Length` rất cao thể hiện qua màu sắc rất sáng. `Sentosa` thì có kích thước `Petal.Length` và `Petal.Width` khá nhỏ. `Versicolor` thì có độ dài `Petal.Length` và `Sepal.Length` cao nhưng `Petal.Width` và `Sepal.Width` thấp, điều này chứng tỏ một kiến trúc dẹt của giống hoa này." ] }, { "cell_type": "markdown", "id": "36ed7aa1", "metadata": { "id": "7sq7rCzuRnnU" }, "source": [ "# 4.4. Vẽ nhiều biểu đồ con trên một biểu đồ\n", "\n", "Trong báo cáo và phân tích nhiều tình huống đòi hỏi chúng ta cần đưa ra thông tin từ nhiều biểu đồ liên quan. Do đó ta cần thể hiện nhiều biểu đồ trên cùng một đồ thị để dễ đối chiếu và kết luận.\n", "\n", "matplotlib cho phép chúng ta vẽ các biểu đồ con trên cùng một biểu đồ thông qua một grid matrix." ] }, { "cell_type": "code", "execution_count": 22, "id": "b67be081", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 704 }, "id": "dkJzsKrfSOET", "outputId": "be06796d-d4f8-4e33-86b4-ca4988ed022b" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/home/khanh/Documents/KhanhBlog/deepai-book/book/_build/jupyter_execute/ch_appendix/appendix_matplotlib_51_0.png" }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "# Khởi tạo grid matrix\n", "fg, ax = plt.subplots(2, 2, figsize=(16, 12))" ] }, { "cell_type": "markdown", "id": "4a46ddf5", "metadata": { "id": "o7gkQZ93YXVb" }, "source": [ "Như vậy lưới ma trận này sẽ giúp xác định có bao nhiêu biểu đồ con nằm trong nó. Trong ví dụ này chúng ta đã xác định `plt.subplots(row, height)` để tạo ra ma trận biểu đồ kích thước `2x2` (số dòng trước, cột sau). `figsize` chính là kích thước cho toàn bộ biểu đồ cha. Để truy cập vào một biểu đồ con thì chúng ta truy cập như đối với mảng trong numpy." ] }, { "cell_type": "code", "execution_count": 23, "id": "fa3cb754", "metadata": { "id": "2eYoHiKgYkFw" }, "outputs": [], "source": [ "# Thống kê số lượng loài hoa\n", "x1, y1 = np.unique(df_iris['Species'], return_counts=True)\n", "\n", "# Sepal.Length and Sepal.Width\n", "x2, y2 = df_iris['Sepal.Length'].values, df_iris['Sepal.Width'].values" ] }, { "cell_type": "code", "execution_count": 24, "id": "87ec3575", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 821 }, "id": "2CbwOBxIYU3Z", "outputId": "725637a4-b1e2-4f3b-f4d5-6f55bab1a30d" }, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 0.98, 'Biểu đồ Tổng hợp')" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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ERHZSyOPCV719dkXTv55w1hRMRxzdcbSEskV5u5R57DHSktLfeHChVGnISIiOcLMFrl7adR5xJn2zSIikkqt7Zt1mbGIiIiIiIjEjopZERERERERiR0VsyIiIiIiIhI7KmZFREREREQkdtSbsUgWm7ekLOW9CaejTREREUlCTTV4DeQXRp2JZKGd1TvpmN8x6jRiQWdmRbLUvCVlzJq7jLLyChwoK69g1txlzFtSllVtioiISBKevQl+Mhx+WAL3z4Samqgzkiyx8L2FnDj3RErvLOXT8z/NhooNUaeU9VTMimSp2fNXUFFZ3SBWUVnN7PkrsqpNERERSdC7L8H8WbBzM1TvhOdvgZf+HHVWkgWqaqr4xhPfYM2WNQAseG8B1y28LuKssp+KWZEstba8Iql4VG2KiIhIgtYuSSwm7c767etZV7GuQeyVDa9ElE18qJgVyVIDi4uSikfVpoiIiCRo6OFgjX5+D58WTS6SVfp36c+QbkMaxA7tf2hE2cSHilmRLDVzxhiKCvMbxIoK85k5Y0xWtSkiIiIJ6jMKPnYr9N4XupfAsdfA/qdEnZVkATPj50f/nIn9JtKjYw9OGXEKV026Kuq0sp56MxbJUrU9DKey5+F0tCkiIiJJGHtW8BJpZHTP0dx+wu1RpxErKmZFstjpB5ekvNBMR5siIiIiIpmmy4xFREREREQkdlTMioiIiIiISOyomBUREREREZHYUTErIiIiIiIisaNiVkRERERERGJHxayIiIiIiIjEjopZERERERERiR0VsyIiIiIiIhI7KmZFREREREQkdszdo85hj5nZemB1hifbB9iQ4Wmmm+Yp++Xa/IDmKQ5ybX6g7Xka6u59M5VMLopo35zNcvHvSFJD24a0RNtGQy3um2NdzEbBzBa6e2nUeaSS5in75dr8gOYpDnJtfiA350mym7Y5aYm2DWmJto3E6TJjERERERERiR0VsyIiIiIiIhI7KmaTd0vUCaSB5in75dr8gOYpDnJtfiA350mym7Y5aYm2DWmJto0E6Z5ZERERERERiR2dmRUREREREZHYUTErIiIiIiIisaNithVmlm9mS8zs3mY+m25mm81safj6dhQ5JsPM3jKzZWG+C5v53MzsBjN7w8xeMrOJUeSZqATmJ47rqNjM/mZmr5nZcjOb2ujzWK0jSGieYrWezGxMvVyXmtmHZvblRuPEZj0lOD+xWkcAZnaVmb1iZi+b2Rwz69To89isI4kPM7vYzAZGnYdkLzP7rpkdtwffm97c71HJTmY20Mz+tgffu9/MitsYZ4+2oVxVEHUCWe5LwHKgewufP+nuJ2cwn1Q42t1begjzCcC+4Wsy8Jvw32zW2vxA/NbRL4EH3f0sM+sAdG70eRzXUVvzBDFaT+6+ApgAwQEvoAz4R6PRYrOeEpwfiNE6MrMS4ErgAHevMLO/AOcBf6w3WmzWkcTKxcDLwNqI85AImZkR9EtT0/gzd8/IwUAzK3D3qkxMS5py97XAWY3jba0Xdz8xgbaz/oByJunMbAvMbBBwEvC7qHPJoNOAP3ngOaDYzAZEnVR7YWbdgSOB2wDcfZe7lzcaLVbrKMF5irNjgZXuvrpRPFbrqZ6W5ieOCoAiMysgOIDSuLiI6zqSDDOzLmZ2n5m9GJ7pP9fMJpnZ42a2yMzmm9kAMzsLKAXuCq9gKDKzYy24wmuZmf3ezDqGbf7YzF4Nrwq4LoydYmYLwvH/Y2b7RDnfAmb2EzP7XL3ha83sq2Y208xeCNffd8LPhoVXH90ELAYGm9kfw21mmZldFY73x3BbwcwOMbNnwm3reTPrZmadzOwP4XeWmNnRzeTVy8zmhdN/zszG1cvvFjN7CPhTBhaR0Op28nI4fLGZ/dXM/g08ZGadzewv4fr7c/h3XxqO+5aZ9am3Pd0aXmX0kJkVheO0tQ0NM7MnzWxx+DosgsWSMSpmW/YL4OtAk6Nq9UwNN54HzOzAzKS1V5zgj2iRmV3WzOclwJp6w++EsWzV1vxAvNbRCGA98IdwB/Y7M+vSaJy4raNE5gnitZ7qOw+Y00w8buupVkvzAzFaR+5eBlwHvA28C2x294cajRbXdSSZdzyw1t3Hu/tBwIPAr4Cz3H0S8HvgB+7+N2Ah8Al3n0Cwj/ojcK67jyU4wHKFmfUCzgAOdPdxwPfD6TwFTHH3g4F7CH6DSLTuAc6tN3wOwT5tX+BQgqtaJpnZkeHnYwgOkh0M9AFK3P2gcP3/oX7DFlyp9GfgS+4+HjgOqAA+DxB+53zgdmt0mwTwHWBJuP38Hw0L10nAae7+8b2ZcUlKc9vJC43GmQpc5O7HAJ8DPgjX3/cI1llz9gV+7e4HAuXAmfU/bGUbWgd8xN0nhnndsOezlv1UzDbDzE4G1rn7olZGWwwMDTeeXwHzMpHbXjo83LBPAD5f7z/fWtbMd7L52U1tzU/c1lEBMBH4Tbgj3AZ8s9E4cVtHicxT3NYTULcTORX4a3MfNxPL5vXU1vzEah2ZWU+CM6/DgYFAFzO7oPFozXw1q9eRRGYZcFx49mUaMBg4CHjYzJYCVwODmvneGOBNd389HL6d4EqVD4EdwO/M7GPA9vDzQcB8M1sGzASy+qBRe+DuS4B+Ftz/OB74ABgHfBRYQvB/434ERQfA6vBKD4BVwAgz+5WZHU+w3usbA7zr7i+E0/owvPz0COCOMPYasBoY3ei79cd5BOhtZj3Cz/7l7hV7P/eSqBa2k7cbjfawu28K3x9BUADj7i8DL7XQ9JvuvjR8vwgY1ujzlrahQuDW8P+SvwIH7Om8xYGK2eYdDpxqZm8RbGzHmNmd9UcIN5it4fv7gUIz65PxTJMQXr+Pu68juCfu0EajvEOwk641iCy+76et+YnhOnoHeMfdF4TDfyMoBBuPE5t1RALzFMP1VOsEYLG7v9/MZ3FbT9DK/MRwHR1H8CNgvbtXAnOBxpdZxXEdSQTCYnQSQVH7I4KzI6+4+4TwNdbdP9rMV5s7YEL4Y/NQ4O/A6QRneiE4UHRjeEbucqDx2TiJxt8I7n08l+A3oQE/qrf+R7n7beG422q/5O4fAOOBxwjOtja+bc1o/gBas9tNAuPUtrWtmc8k/RpvJ43VXy+JrGOAnfXeV9O0r6OWtqGrgPcJtr9SoEOC04slFbPNcPdZ7j7I3YcRXHb3iLs3OKpvZv3NzML3hxIsy40ZTzZBFtzz0632PcFRxZcbjfYv4JMWmEJwad67GU41IYnMT9zWkbu/B6wxszFh6Fjg1UajxWYdQWLzFLf1VM/5tHxJbqzWU6jF+YnhOnobmBLel2QE293yRuPEcR1JBCzonXi7u99JcPn6ZKCvhT2zm1lhvUvvtwDdwvevAcPMbFQ4fCHwuJl1BXqEB4a+TNgBG9CDoAM2gIvSN0eSpHsIfgueRVCwzAcuDdcjZlZiZv0afyk84Jfn7n8HvkXTg9OvAQPN7JBw/G4W3OP/BPCJMDYaGAKsaPTd+uNMBza4e+Mzv5JZjbeT1jxFcCkyZnYAMHYPp9nSNtSD4IxtDcH/O/l72H4sqDfjJJjZZwHc/WaCjfUKM6siuD79PHfP5kvU9gH+Ef4eLQDudvcHG83T/cCJwBsElz1dElGuiUhkfuK2jgC+SNB5SAeCS5QuifE6qtXWPMVuPZlZZ+AjBGdPamOxXU8JzE+s1pG7L7DgkQiLgSqCywFvifM6kkiNBWabWQ1QCVxBsF3dEF7aWUDQz8YrBPfI3mxmFQT3yF0C/DX8gfkCcDPQC/hneB+kEZxFAbg2HLcMeI7gMnmJmLu/Eh48LwsPeL1rZvsDz4a/QbYCFxCcOauvhKC/iNoTR7MatbvLzM4FfmVBxz4VBFeV3ESwDS0j2M4udved4bRqXRu2/RLB/186+BGxxtuJmQ1rZfSbCO6Ffolg//QSsHkPptnaNvR3MzsbeJQcP1tvWfx7REREREREJGdY8Bi8QnffYWYjgf8Co919V8SpxZLOzIqIiIiIiGRGZ+BRMyskuDrjChWye05nZkVERERERCR21AGUiIiIiIiIxI6KWREREREREYkdFbMiIiIiIiISOypmRXKAmb1lZsdFnUdrzMzrPW9RREQkEmY2xsz+ZWbdo85FRPaOilmRFDOzI8zsGTPbbGabzOzp2gdaR5TPY2b26VyfpoiItC9mdq2Z3dnK56+Y2fRGsfuAfwG/Ag5KcT69wmm2mFM61D9YbGYdzex5MzupmfGGmNnW8NEwzbWT9QfGRRpTMSuSQuFR3nsJdpK9CB6a/h1gZ5R5iYiIxJGZfdzMFoZF2Ltm9oCZHZHId939QHd/rF5b5wHLgMuB89z9mRSnOxv4JLDSzC5JcdtNmNlLZlYeDi42sy7uvhM4G/ihmfWoP767v+3uXd29Ot25iWSKilmR1BoN4O5z3L3a3Svc/SF3fwnAzC41s+Vm9oGZzTezobVfDI+sXmlmq8xsg5nNNrO88LORZvaImW0MP7vLzIr3NtkE8vmsmf0v/PzXZmbhZ/lmdn2Yy5tm9oVw/AIz+wEwDbgx/PFxY71JHtdceyIiIo2Z2VeAXwA/BPYBhgA3AaftSXvufo+7f9PdH3P3T6Uwz/yw/U+5+yJ3v8bd/5Cq9lvi7uPcvTgcnOju28L4auDzwP7pzkEkaipmRVLrdaDazG43sxPMrGftB2Z2OvB/wMeAvsCTwJxG3z8DKAUmEuysL639OvAjYCDBzmkwcO3eJJpgPicDhwDjgXOAGWH8M8AJwIQw19Nrv+Du/y9s6wvhEeAvJNCeiIhInfCs4neBz7v7XHff5u6V7v5vd59Zb9QOZvYnM9sSXuJbWq+NustmzSzPzL5pZivDA8N/MbNe4WfTzeydRtNv8ZJbM/ujmf3GzO43s23A0WbWI8xjvZmtNrOr6x2QvtjMnjKz68KDuW+a2Qn12htuZk+E8/Cf8GBva5dPzwzPUq81s0sbfXaSmS0B7gf+ambX1vtsWO2B51YW/YTwjO9mM/uzmXWq9/3PmNkbFtxC9S8zG1jvs1+a2Roz+9DMFpnZtFamIZIyKmZFUsjdPwSOABy4FVgf/oe/D8FlTT9y9+XuXkVwpHlC/bOhwE/cfZO7v01wNPr8sN033P1hd9/p7uuBnwFH7WW6ieTzY3cvD/N5lKB4haAQ/aW7v+PuHwA/TnCaLbUnIiJS31SgE/CPNsY7FbgHKCa4F/bGFsa7kuDA61EEB4Y/AH69F/l9HPgB0A14iuD2oh7AiHAanwTqX2o8GVgB9AF+CtxW7+qku4Hngd4EB6ovbGmiZnY88DXgI8C+QOOCe1s47WLgJOCK8OB1os4BjgeGA+OAi8PpHkNwUP0cYACwmmC513qBYJ/eK5yfv9YvhEXSRcWsSIqFxeHF7j6IoHOJgQSF6VDgl2ZWbsE9LpsIzriW1Pv6mnrvV4ffxcz6mdk9ZlZmZh8CdxLsEPdGIvm8V+/9dqBr+H5go1zrv29NS+2JiIjU1xvYEB5sbc1T7n5/eB/oHQRX/jTncuD/hQdhdxIUjWe1cZayNf9096fdvQaoBM4FZrn7Fnd/C7iehkXpane/NczzdoKCcB8zG0JwxdK33X2Xuz9FUJS35BzgD+7+cnhZ8bX1PwwvoV7m7jXhLU5zSO7g9w3uvtbdNwH/ZvdB508Av3f3xeHymwVMNbNh4XTvdPeN7l7l7tcDHYExSUxXZI+omBVJI3d/DfgjQVG7Brjc3YvrvYoadUAxuN77IcDa8P2PCM72jnP37sAFBIXn3kgkn5a8CwxqIW/CXEVERPbURqBPAsVm44OknVr4zlDgH/UO4C4Hqgnuxd0T9Q/i9gE6EByErrWaFg4Ou/v28G1XgoPDm+rFGrfdWOODyfWniZlNNrNHw8udNwOfJbmD360dxK6blrtvJVhHJeF0v2pBHxybw+XbI8npiuwRFbMiKWRm+4X/oQ8KhwcTXCr8HHAzMMvMDgw/62FmZzdqYqaZ9Qy/9yXgz2G8G7AVKDezEmAmySkws071XoUJ5tOSvwBfMrMSCzqi+kajz98nuNRKRERkTzwL7KBenwx7aQ1wQqMDuJ3cvYzg0tzOtSNa0KFT3zbaq3/QdgPB2dn6t+kMAcoSyOtdoJeZda4Xa3yAuPH4jQ9813c3wZndwe7eg2Bfn4rOFtdSb/7MrAvB2fOy8P7YbxCcNe4Zdkq1OUXTFWmVilmR1NpCcF/MgrBTiOeAl4Gvuvs/gJ8A94SXCr9M0IlSff8EFgFLgfuA28L4dwg6Wtocxue2lICZfcLMXmkU/g1QUe/1hwTzacmtwEPAS0BtRxNVBEe5AX5JcPnWB2Z2Q4JtioiIAODum4FvA782s9PNrLOZFVrQueJP96DJm4Ef1PYLYWZ9zay2V+TXCc7onhQe7L2a4DLZRHOtJjjI+wMz6xZO4ysEtwS19d3VwELgWjPrYGZTgVNa+cpfgIvN7ICwAL6m0efdCM707jCzQwnu7U2Fu4FLzGyCmXUk6GdjQXhJdTeC3wDrCQ6efxvonqLpirRqT+8TEJFmhEd4z2nl8zsI7ulpyf3u3qT4c/dXgEmNwtfX+3xYvfd3AXfVG56+J/m4uzUavrje+yrgqvBF2CvjWnf38PNnCR9TlEh7IiIijbn7z8zsfYLi8i6CA8aLCDpeStYvCc4UPhT2wruO4Oqnf7r7ZjP7HPA7IJ+gg6Z3WmypeV8k6ARqFcEZ5VuB3yf43U8Q3JK0kaAjqD+HeTTh7g+Y2S+AR4AagmXziXqjfA643oLH4j1OUPwWJzUnzU/3v2b2LeDvQE/gGeC88OP5wAMEBwW2AT8n8b40RPaKhb89RSRiZubAvu7+RtS5tMXMioCjCc7O7kOwc3vO3b8cZV4iIiJxZ2Z/Bl5z98ZnXUWkEV1mLCJ7wgguff6A4DLj5QSXg4mIiLRb4XNc703yO4eY2UgLnoV7PMFz5uelJUGRHKPLjEWyROPLcLNZ2OviIVHnISIikk32cF/en6AvjN4Elzdf4e5LUpqYSI7SZcYiIiIiIiISO7rMWERERERERGJHxayIiIiIiIjEjopZERERERERiR0VsyIiIiIiIhI7KmZFREREREQkdv4/kSZRWBuOW+UAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/home/khanh/Documents/KhanhBlog/deepai-book/book/_build/jupyter_execute/ch_appendix/appendix_matplotlib_54_1.png" }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Khởi tạo grid matrix\n", "fg, ax = plt.subplots(2, 2, figsize=(16, 12))\n", "\n", "# Visualize từng biểu đồ\n", "# Biểu đồ [0, 0]\n", "ax[0, 0].pie(y1, labels=x1, autopct='%1.1f%%')\n", "ax[0, 0].set_xlabel(\"Tỷ lệ % các loài hoa\", fontsize=12)\n", "\n", "# Biểu đồ [0, 1]\n", "sns.heatmap(df_summary, annot=True, ax=ax[0, 1])\n", "ax[0, 1].set_xlabel('Trung bình các measurements', fontsize=12)\n", "\n", "# Biểu đồ [1, 0]\n", "ax[1, 0].scatter(x2, y2)\n", "ax[1, 0].set_xlabel('Sepal.Length', fontsize=12)\n", "ax[1, 0].set_ylabel('Sepal.Width', fontsize=12)\n", "\n", "# Biểu đồ [1, 1]\n", "sns.swarmplot(data=df_iris, x='Species', y='Sepal.Width', ax=ax[1, 1])\n", "ax[1, 1].set_xlabel('Chiều rộng đài hoa', fontsize=12)\n", "\n", "fg.suptitle('Biểu đồ Tổng hợp', fontsize=18)" ] }, { "cell_type": "markdown", "id": "b11e3d73", "metadata": { "id": "pY_G3AVIaYXG" }, "source": [ "# 4.5. Biểu đồ động từ gif file\n", "\n", "Chúng ta thường dùng biểu đồ gif trong matplotlib để biểu diễn kết quả của những thuật toán một cách trực quan. Ví dụ như biểu diễn sự di chuyển của các điểm theo _gradient descent_." ] }, { "cell_type": "code", "execution_count": 25, "id": "513836e7", "metadata": { "id": "aPIh6MP-uKoJ" }, "outputs": [ { "ename": "ModuleNotFoundError", "evalue": "No module named 'imageio'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m/tmp/ipykernel_42807/2481491513.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mnumpy\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpyplot\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mimageio\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'imageio'" ] } ], "source": [ "# Import các thư viện cần thiết\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import imageio\n", "import os" ] }, { "cell_type": "code", "execution_count": null, "id": "dab62bed", "metadata": { "id": "ZebiO-28uQqt" }, "outputs": [], "source": [ "%%script echo skipping\n", "from google.colab import drive\n", "import os\n", "\n", "drive.mount('/content/gdrive')\n", "path = '/content/gdrive/My Drive/mybook'\n", "os.chdir(path)\n", "\n", "!rm -rf gifplot\n", "!mkdir gifplot" ] }, { "cell_type": "markdown", "id": "74d16bb7", "metadata": { "id": "mrbAcL2mysD2" }, "source": [ "Khởi tạo một hàm số có đồ thị dạng sin theo công thức:\n", "\n", "$$y = \\sin(2\\pi(x-0.01i))$$" ] }, { "cell_type": "code", "execution_count": null, "id": "94696d0d", "metadata": { "id": "ff8RsbKLuklk" }, "outputs": [], "source": [ "def animate(i):\n", " x = np.linspace(0, 2, 1000)\n", " y = np.sin(2 * np.pi * (x - 0.01 * i))\n", " return x, y" ] }, { "cell_type": "markdown", "id": "b91c73ef", "metadata": { "id": "RYwpJrVm0RYR" }, "source": [ "Tiếp theo ta sẽ sinh các chuỗi dữ liệu $(x, y)$ thay đổi theo giá trị của $i$ và lưu những đồ thị này vào folder `gifplot`." ] }, { "cell_type": "code", "execution_count": null, "id": "30a2efbd", "metadata": { "id": "gRmS9PMKuofd" }, "outputs": [], "source": [ "def plot(i):\n", " x, y = animate(i)\n", " fig = plt.figure(figsize=(8, 6))\n", " plt.plot(x, y)\n", " plt.xlabel('x')\n", " plt.ylabel('y')\n", " plt.title(\"iteration {}\".format(i))\n", " fig.savefig(\"gifplot/{:03d}.png\".format(i))\n", " plt.close(fig)" ] }, { "cell_type": "markdown", "id": "1d036b4a", "metadata": { "id": "G8j1zSpL0nHn" }, "source": [ "Thực hiện vòng for vẽ liên tiếp 20 vòng lặp cho $i$." ] }, { "cell_type": "code", "execution_count": null, "id": "a249a96b", "metadata": { "id": "OdEjaR6avK73" }, "outputs": [], "source": [ "for i in range(20):\n", " plot(i)" ] }, { "cell_type": "markdown", "id": "239d8195", "metadata": { "id": "JyC8HFV_0sIc" }, "source": [ "Bản chất của file `gif` là một tập hợp các file ảnh thường được xếp chồng lên nhau. Do đó để tạo ra được một ảnh động `gif` thì chúng ta sẽ append các ảnh vào trong writer của `imageio`." ] }, { "cell_type": "code", "execution_count": null, "id": "2eac35e5", "metadata": { "id": "nGbZDvRGuHSt" }, "outputs": [], "source": [ "with imageio.get_writer('mygif.gif', mode='I') as writer:\n", " for filename in os.listdir('gifplot'):\n", " image = imageio.imread('gifplot/{}'.format(filename))\n", " writer.append_data(image)" ] }, { "cell_type": "markdown", "id": "6556e69e", "metadata": { "id": "LSCHiwrJ1E2H" }, "source": [ "Như vậy toàn bộ các file ảnh đã được lưu theo thứ tự của vòng lặp vào file `mygif.gif`. Chúng ta có thể hiển thị đồ thị vừa được tạo ra như sau:" ] }, { "cell_type": "code", "execution_count": null, "id": "67e69bf1", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 449 }, "id": "yQryQv4vxOCW", "outputId": "d9928e8f-a313-4f11-98af-b49432804b88" }, "outputs": [], "source": [ "from IPython.display import Image\n", "Image(open('mygif.gif','rb').read())" ] }, { "cell_type": "markdown", "id": "84ee009f", "metadata": { "id": "571-xcC00x9l" }, "source": [ "# 4.6. Tổng kết\n", "\n", "Như vậy qua bài viết này bạn đọc đã được tìm hiểu về cách dựng các dạng biểu đồ từ cơ bản tới nâng cao kèm theo tình huống sử dụng của chúng. Những biểu đồ này bao gồm:\n", "\n", "* Biểu đồ cơ bản: line, barchart, pie, scatter.\n", "* Biểu đồ nâng cao: boxplot, swarm, histogram, density, heatmap.\n", "\n", "Ngoài ra bạn đọc còn được hướng dẫn về cách vẽ biểu đồ tổng hợp từ nhiều biểu đồ con và cách vẽ biểu đồ động từ gif file.\n", "\n", "Đây đều là những kiến thức khá căn bản và quan trọng đối với visualization mà bạn đọc cần nắm vững trước khi đi sâu vào phân tích dữ liệu và xây dựng mô hình. Tiếp theo là những bài tập thực hành để củng cố thêm kiến thức đã học." ] }, { "cell_type": "markdown", "id": "43b03094", "metadata": { "id": "xjPN-lPQ01MD" }, "source": [ "# 4.7. Bài tập\n", "\n", "Lấy bộ dữ liệu flights." ] }, { "cell_type": "code", "execution_count": null, "id": "f2023a67", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 204 }, "id": "jd3MYEvQ2rCf", "outputId": "7e3bd04a-a732-41a8-cab0-2cebe2a2ef30" }, "outputs": [], "source": [ "import seaborn as sns\n", "flights = sns.load_dataset('flights')\n", "flights.head()" ] }, { "cell_type": "markdown", "id": "a324f0fe", "metadata": { "id": "uBgvNy7U25Be" }, "source": [ "Đây là bộ dữ liệu về số lượng hành cách di chuyển trên các chuyến bay theo các tháng. Dựa trên số liệu này hãy vẽ các biểu đồ:\n", "\n", "1. Biểu đồ line thể hiện chu kỳ và xu hướng thay đổi của số lượng hành khách.\n", "2. Biểu đồ hình tròn và biểu đồ cột về tổng số lượng hành khách đã di chuyển theo từng tháng trong suốt giai đoạn.\n", "3. Biểu đồ heatmap thể hiện tổng số lượng hành khách theo hai trục tháng và năm.\n", "4. Biểu đồ histogram, density, swarm, boxplot về phân phối tổng số lượng hành khách theo từng tháng.\n", "5. Vẽ một biểu đồ tổng hợp dạng grid matrix từ những biểu đồ con trên." ] }, { "cell_type": "markdown", "id": "e5b542b9", "metadata": { "id": "SWkSYCRJ03AD" }, "source": [ "# 4.6. Tài liệu tham khảo\n", "\n", "1. [matplotlib](https://matplotlib.org/)\n", "2. [seaborn](https://seaborn.pydata.org/)" ] } ], "metadata": { "jupytext": { "text_representation": { "extension": ".md", "format_name": "myst", "format_version": 0.12, "jupytext_version": "1.8.2" } }, "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.9.7" }, "source_map": [ 11, 22, 36, 40, 51, 55, 70, 74, 91, 109, 113, 121, 137, 149, 157, 174, 182, 195, 213, 217, 225, 244, 250, 256, 276, 297, 301, 324, 342, 346, 364, 368, 386, 392, 410, 414, 420, 438, 442, 460, 467, 478, 514, 536, 546, 559, 563, 574, 578, 589, 593, 601, 615, 619, 629, 661, 667, 677, 692, 698, 707, 711, 725, 729, 736, 740, 749, 753, 765, 778, 784, 797, 807 ] }, "nbformat": 4, "nbformat_minor": 5 }