{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## 第4章 Matplotlibでグラフを 描画しよう\n", "\n", "### 4-5: 棒グラフ" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# リスト4.5.1:棒グラフの描画\n", "plt.style.use(\"ggplot\")\n", "fig = plt.figure()\n", "ax = fig.add_subplot(111)\n", "x = [1, 2]\n", "y = [1, 3]\n", "ax.bar(x, y)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# リスト4.5.2:目盛りラベルを設定した棒グラフの描画\n", "# 横軸の目盛りにラベルを設定\n", "fig = plt.figure()\n", "ax = fig.add_subplot(111)\n", "labels = [\"apple\", \"orange\"]\n", "ax.bar(x, y, tick_label=labels)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# リスト4.5.3:描画後に文字列ラベルを追加\n", "# 描画\n", "fig = plt.figure()\n", "ax = fig.add_subplot(111)\n", "ax.bar(x, y)\n", "# X軸の軸目盛りと軸目盛りラベル\n", "ax.set_xticks(x)\n", "ax.set_xticklabels(labels)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# リスト4.5.4:横向きの棒グラフの描画\n", "fig = plt.figure()\n", "ax = fig.add_subplot(111)\n", "ax.barh(x, y, tick_label=labels)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "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", "
anime_idnamegenretypeepisodesratingmembers
032281Kimi no Na wa.Drama, Romance, School, SupernaturalMovie19.37200630
15114Fullmetal Alchemist: BrotherhoodAction, Adventure, Drama, Fantasy, Magic, Mili...TV649.26793665
228977Gintama°Action, Comedy, Historical, Parody, Samurai, S...TV519.25114262
39253Steins;GateSci-Fi, ThrillerTV249.17673572
49969Gintama'Action, Comedy, Historical, Parody, Samurai, S...TV519.16151266
\n", "
" ], "text/plain": [ " anime_id name \\\n", "0 32281 Kimi no Na wa. \n", "1 5114 Fullmetal Alchemist: Brotherhood \n", "2 28977 Gintama° \n", "3 9253 Steins;Gate \n", "4 9969 Gintama' \n", "\n", " genre type episodes rating \\\n", "0 Drama, Romance, School, Supernatural Movie 1 9.37 \n", "1 Action, Adventure, Drama, Fantasy, Magic, Mili... TV 64 9.26 \n", "2 Action, Comedy, Historical, Parody, Samurai, S... TV 51 9.25 \n", "3 Sci-Fi, Thriller TV 24 9.17 \n", "4 Action, Comedy, Historical, Parody, Samurai, S... TV 51 9.16 \n", "\n", " members \n", "0 200630 \n", "1 793665 \n", "2 114262 \n", "3 673572 \n", "4 151266 " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# リスト4.5.5:anime_master.csvファイルの読み込み\n", "import os\n", "import pandas as pd\n", "\n", "base_url = \"https://raw.githubusercontent.com/practical-jupyter/sample-data/master/anime/\"\n", "anime_master_csv = os.path.join(base_url, \"anime_master.csv\")\n", "dfac = pd.read_csv(anime_master_csv)\n", "dfac.head()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# リスト4.5.6:配給種別ごとの合計メンバ数の棒グラフを描画\n", "fig = plt.figure()\n", "ax = fig.add_subplot(111)\n", "y = dfac.groupby(\"type\").sum()[\"members\"]\n", "x = range(len(y))\n", "xlabels = y.index\n", "ax.bar(x, y, tick_label=xlabels)\n", "ax.set_ylabel(\"合計メンバ数\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# リスト4.5.7:複数グループの棒グラフを描画 (失敗例)\n", "import numpy as np\n", "\n", "# データセットの作成\n", "x = [1, 2]\n", "y1, y2, y3 = [1, 2], [2, 4], [3, 6]\n", "# 複数グループの棒グラフの描画\n", "fig = plt.figure()\n", "ax = fig.add_subplot(111)\n", "w = 0.2\n", "ax.bar(x, y1, label=\"y1\")\n", "ax.bar(x, y2, label=\"y2\")\n", "ax.bar(x, y3, label=\"y3\")\n", "ax.legend()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# リスト4.5.8:複数グループの棒グラフの描画\n", "# 複数グループの棒グラフの描画\n", "fig = plt.figure()\n", "ax = fig.add_subplot(111)\n", "w = 0.2\n", "ax.bar(x, y1, width=w, label=\"y1\")\n", "ax.bar(np.array(x) + w, y2, width=w, label=\"y2\")\n", "ax.bar(np.array(x) + w * 2, y3, width=w, label=\"y3\")\n", "ax.legend()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "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", " \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", "
MovieMusicONAOVASpecialTV
genre
Comedy7293127.020860.01477266.05614758.06659293.065420862.0
Action10224960.077054.0524907.05793680.03412689.063364032.0
Drama9034099.0100734.0188427.03043374.01915578.041011557.0
Romance5245386.042811.0411331.03143167.02015820.040703388.0
Supernatural5452779.09189.0192989.02696715.02336723.038956520.0
Fantasy8019406.043962.0188937.02754224.02504131.034932563.0
Shounen5698808.0NaN97833.03861296.02591988.035532847.0
School1512533.05496.0523223.02417660.02661425.035489099.0
Adventure9485223.042829.070431.02373765.02052024.027529975.0
Sci-Fi6967146.0154801.0415311.03358525.01616450.028072322.0
\n", "
" ], "text/plain": [ " Movie Music ONA OVA Special \\\n", "genre \n", "Comedy 7293127.0 20860.0 1477266.0 5614758.0 6659293.0 \n", "Action 10224960.0 77054.0 524907.0 5793680.0 3412689.0 \n", "Drama 9034099.0 100734.0 188427.0 3043374.0 1915578.0 \n", "Romance 5245386.0 42811.0 411331.0 3143167.0 2015820.0 \n", "Supernatural 5452779.0 9189.0 192989.0 2696715.0 2336723.0 \n", "Fantasy 8019406.0 43962.0 188937.0 2754224.0 2504131.0 \n", "Shounen 5698808.0 NaN 97833.0 3861296.0 2591988.0 \n", "School 1512533.0 5496.0 523223.0 2417660.0 2661425.0 \n", "Adventure 9485223.0 42829.0 70431.0 2373765.0 2052024.0 \n", "Sci-Fi 6967146.0 154801.0 415311.0 3358525.0 1616450.0 \n", "\n", " TV \n", "genre \n", "Comedy 65420862.0 \n", "Action 63364032.0 \n", "Drama 41011557.0 \n", "Romance 40703388.0 \n", "Supernatural 38956520.0 \n", "Fantasy 34932563.0 \n", "Shounen 35532847.0 \n", "School 35489099.0 \n", "Adventure 27529975.0 \n", "Sci-Fi 28072322.0 " ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# リスト4.5.9:anime_genre_top10_pivoted.csvファイルの読み込み\n", "base_url = \"https://raw.githubusercontent.com/practical-jupyter/sample-data/master/anime/\"\n", "anime_genre_top10_pivoted_csv = os.path.join(base_url, \"anime_genre_top10_pivoted.csv\")\n", "dfag = pd.read_csv(anime_genre_top10_pivoted_csv, index_col=\"genre\")\n", "dfag" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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Wov8WofcWofcWofcWofcWiMxMVHSlfzi1vj5+d10H3VL9lNTU3Xx4kX5+Pho4sSJWrNmjd5//31NmTIl23rh4eEKDw93PPbEoUWePiSqIMdObq3j6bktyMitdcittcivdcitdcitdcitdcitNdLS0uTn58clFS6QlpZ2TR8tUJdUBAUFqUiRImrSpIm8vb3VqlUrHTt2zB1NAwAAAACAfOCWgoOXl5eaNGmitWvXyhijjRs3XnM5BQAAAAAAKDzcdkFL37599f777+u7775TYGCghgwZ4q6mAQAAAACAm7mt4BAUFKQRI0a4qzkAAAAAAAqdgQMHqnnz5howYEB+h5Int90WEwAAAACAv4v4+HhVrlxZycnJkqQpU6YoNDT0lvdbsWJFj7mzCfcIAQAAAAAUag99tsel+1v2WC2n1itRooTWrl2riIgI7dixQ97e3rfc9vjx4295H+7CCAcAAAAAACzQuHFjrVq1SsePH1exYsWUmZmpadOm6b333nOs07dvX8XHx0uS9u/fr4iICN13333q1KmTli1b5lgvNDRUoaGhatCgQbbtJWnXrl165JFH1L59e0VERGjz5s3uOcA8MMIBAAAAAAALhISEaN++fVq1apVatGih33//Pdf1P/nkE4WHh2vo0KG6ePGijhw54lgWFxcnSZo2bVq2bZKTk/XUU09p5syZatKkiU6cOKFLly65/mBuAiMcAAAAAACwQHp6upo2barPPvtMrVu3znP9iIgIxcbG6pVXXtGhQ4dUp06dPLfZsmWLGjRooCZNmkiSypUrpzvvvPOWY3cFRjgAAAAAAGCRzp07KykpScWKFZMk2Ww2Xb58+brr3nvvvVq2bJk2btyouXPn6siRI/r888/l45PzV/esrCzZbDZLYr9VjHAAAAAAAMAijRo10vTp0x2Py5Qpo40bN+ry5cvavHmztm3b5lj25Zdf6syZM2rZsqVeffVV7dq1SxcvXsx1/40bN9bmzZu1detWSdKZM2e0adMmaw7mBjHCAQAAAAAAN3nwwQe1ePFitW7dWp07d1ZERIRjWUBAgJ5++mmdOXNG6enpGjlypEqWLJnr/m677Ta99957mjBhgi5cuKDAwECNHTvW6sNwCgUHAAAAAECh5uxtLF2pZcuWatmypeNxxYoVHRM//vnuE3/WoUMHdejQIdf9Dh8+/JrnmjZt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7pAxxvHcn4WHhysqKsqjiw0vvfRSfodQaJFb65Bb65Bb65Bba5Ff65Bb65Bb65Bb65Bb65Bb6zibW7cUHEqXLq3ExERVqFBBzz33nBITExUcHOyOpgEAAAAAQD5wS8GhRIkSKlq0qH755RcZY/Ttt9+qefPm7mgaAAAAAADkA++XX375ZXc0VKtWLc2dO1dfffWV7rjjDj300EPXvayiMLjzzjvzO4RCi9xah9xah9xah9xai/xah9xah9xah9xah9xah9xax5ncumXSSAAAAAAA8PfilksqAAAAAADA3wsFh0IkKipKu3fvzu8wPM7//d//6dtvv83vMADAEtu2bdPw4cP11FNPafny5fkdDnKxe/fua24ZDveYNWuWtmzZ4rL9RUVFafjw4erTp4/L9ukpOB91vx9//FGjR4922f727dun5557Tunp6S7bJ/6+fPI7gMLKbrdrwYIF2rFjh2w2m9q0aaOuXbvmd1iFwrp16zR79mx9+OGH8vf3z3P9NWvW6NSpU3r00UevuzwkJEQlS5Z0dZgep2fPno7b1t59993q1auXfH198zusQmHIkCEqUqSI0tPTFRQUpEGDBnE9oQsdO3ZM7733ni5evKhixYqpd+/eqlevXn6H5ZSXX35ZgwcPVkhIiGVt3H333br77ru1ePHiG9528eLFiomJUVBQkCTJy8tLU6dOvelYFi9erJCQELVr1+6m91FYXK/fFta5rfJDfr8vXL1dXGEsONzoeZir5XVe58lutt8GBgaqXLlyTrfz8ssv6/Tp047zvBo1auiZZ55xLC9atKjKly8vLy9+m8ato+Bgkfnz58tms2nq1KnKysrSzz//nN8hFRqbN29W06ZNtX37dpfc7aRv374uiMrz+fr6avr06bLb7Zo7d67mz5+v/v3753dYhcarr76q4sWLa/PmzZo7d64mTZqU3yEVGh9++KEiIiLUrFkznT59WidPnszvkAqViIgICuYWoN9ai/xax9XnYfj/brbf1q1bV3Xr1r2htp5//nlVq1btussqVKigUaNG3dD+gJxQcLDA5cuXFR8fr5kzZ8rLy0teXl5q3LixsrKy9Pnnn2vTpk2y2Wx68MEHFRoaqlOnTundd9+VMUZFixZV2bJl9eOPP2rixIkKDg7W3r179dFHHyklJUWlS5fWv/71L4WEhCgzM1OffPKJtm/frnLlyuns2bOO9l966SVNnTpVRYoUkSS98cYb6tmzpypXrpyfqbllGRkZOnLkiAYMGKC1a9c6Puh27typhQsX6vLlyypRooQGDhyo22+/XS+99JLOnz8v6cpwM0kaNWqUgoODNXz4cEnS+fPn1bVr12wn1CtWrFB0dLQkqXXr1urevbtsNptmzZqlhg0bav369Tp48KDatm2rxx9/3J0psJyPj4/69u2rIUOGqG/fvvLx8dGsWbMUFhamuLg4HTx4UPXr11e/fv107tw5ff755/r999+VmpqqDh06KCIiIs8+/d1332n9+vVKTU1VSEiIIiMjVaxYsfw+dMvZbDbVr19fs2fPlpRzP3vhhRdUrlw5JSUlqWnTplq1apWGDx+u6tWrKz4+Xt99953j14+hQ4cqODhYu3fvVnx8vIoUKaLt27eraNGievHFF1WyZEkZY/Tdd98pNjZWklS5cmUNHDhQRYsW1fHjxzVnzhydPn1axYoV08CBAz1u9EVaWppSUlIkSaVLl1bp0qW1Zs0aHThwQAMGDJB05SSuWrVqateunWbNmqXbb79du3bt0pkzZ9S1a1d16NBBknLNR06vg8WLF6tEiRLatWuX9u/fr9q1a+u5556TzWbTzp07tXTpUp0/f17e3t4aPHiwqlSpovj4eC1ZskQJCQmaPHmyfHx8VKVKFT333HNavHix/P39He9JUVFRioiIUN26dXXq1CnNnTtXHTp00NKlS5WcnKwxY8YoJCQkx77hana7XV9++aW2bNmi1NRUVatWTYMHD5aPj0+OuTh16pTeeOMNnT59Wn5+fvrqq68kXfls8vb2zvE9ISsrS3PnztWOHTvk6+urWrVqqV+/fvLx8dHIkSM1duxYxwi1jz76SPXr11eTJk1cfsxWuF6/3b17t+x2uz7++ONrXscXLlzQBx98oKNHj6po0aJ64oknVLNmTZ06dUqvv/6641KMjRs3asuWLRoyZIjWrFmjP/74Q6dOndKvv/6qsmXLauTIkfL19VVqaqo++ugj/fbbb7LZbOrRo4dat24tSfr3v/+tBx54QKtWrdK5c+c0dOhQ1apVK99ydTOul19J+v333/XJJ58oOTlZRYsWVb9+/VSzZk1JUkJCgqKjo6/5fN+1a5fmzZun9PR03XnnnRowYIACAgJyPK8rzK53Hpbb+eiIESP01ltvycfnyleO1157TX379lWFChVyPL/Nqd/abLYcz+uysrJyfB1IV37RHzRokBYsWKATJ06offv2evDBB2W32zV//nxt3bpVxhg98MADevDBB92dVocb7bcLFy7U5s2bZbfb5ePjc8uXZK1cudJxXnLq1CnNmzfv1g4IkCQDlzt06JAZN27cNc/HxcWZN954w9jtdpOSkmJGjBhh9u3bZxITE80TTzzheG7btm1m7ty5Ji4uzly8eNEMGzbMJCYmGmOM+emnn8zUqVONMcbExMSYKVOmmIyMDJOSkmKGDx9udu3aZYwxZv78+Wbt2rXGGGPOnj1rxo4d66ajt9a2bdvMW2+9ZS5fvmwGDRpk7Ha7SUxMNIMHDzbHjx83xhhz7Ngxc/bsWcc2ixYtMosWLcpxn4sWLTLLli1zPN65c6cZPXq0uXTpkklPTzcTJ040P/zwgzHGmJkzZ5qoqChz6dIlk5ycbB5//PFsbXmyxx9/PNvjf//73+bEiRPGmCvHPWzYMPPrr7+arKwsk5WVZYwxJjk52ezevdtkZWWZlJQU079/f3P69Olc+7QxxmzdutWkpaWZrKws8+6775qlS5e692DdbPDgweb8+fMmKyvLrFy50kyaNCnXfvboo4+axMRE8/rrr5vo6Gjz1VdfOfrwzp07TUpKijHGmC+++MK8//77xhhjdu3aZQYMGGAOHDhgMjMzzVtvvWW+/PJLY4wx33//vRk/fry5ePGiMcaYX375xWRmZhq73W5GjhxpDhw4YIwx5sCBA+bFF190a25c4ddffzX/+te/zGuvvWb27dtnjDFm9erVZs6cOY515syZY1avXm2MudKfZ8yYYTIyMsz58+dN//79zdmzZ/PMR06vg0WLFplRo0aZ8+fPm0uXLplnn33WEceePXsc7xFr1641kydPzhb74MGDHe/vV/31PWnKlCmO9/bExEQzcOBAM2vWLHPp0qVsceTUN3LarzOut01WVpbZtGmTsdvtJjMz07z66qvm+++/zzMXV3N49e/wZzm9Jxw4cMBERkaazMxMk5WVZX777TfH8a5cudJ88cUXxhhj0tPTzfDhw43dbr+h48tP1+u3u3btMv3797/u63jGjBlm+fLlxhhjjh49agYPHmwuXbpkEhMTzQsvvODY7w8//GBmzpxpjLnyOnjuuefMyZMnTUZGhhk3bpzjb/Xee++Z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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# リスト4.5.10:配給種別・ジャンル別棒グラフの描画\n", "fig = plt.figure(figsize=(18, 3))\n", "ax = fig.add_subplot(111)\n", "wt = np.array(range(len(dfag)))\n", "w = 0.1\n", "for i in dfag.columns:\n", " ax.bar(wt, dfag[i], width=w, label=i)\n", " wt = wt + w\n", "ax.set_xticks(np.array(range(len(dfag) + 2)))\n", "ax.set_xticklabels(dfag.index, ha=\"left\")\n", "ax.set_ylabel(\"のべメンバ数\")\n", "ax.legend()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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KUaOHIkTJ06oH91fODs7Qy6Xw83NDdOnT4dcLq9R9crb2xtTpkypUQxEREREREREZDjUKlTcu3cPBw8exJEjR3Dz5k0UFxernuvYsSOys7NrtHNHR0dYW1vj2rVrEELg0KFD8PHxqXY7CQkJiIqKqlEMRERERERERGQ41Br6Ua9ePbi7uyMtLQ1nzpyBXC5Hnz59MHDgQNStWxfh4eFVtrFkyRJkZ2cjKysLYWFhsLe3R3h4OKZOnYrIyEjk5eXB09MTvXr1qvZBeHt712joCb2aOOEjERERERGR4VKrUNGyZUtYWlpiwoQJAIDc3FzExMQgNDQUgwcPxoABA6psY8GCBeUud3V1VavQUZmEhAQkJiZy+AcRERERkRE7sMtwJiolIv1Ra+hHUFAQDh48CLn82XyzDg4OGDp0KBYuXIgtW7ZAoVBoNciqcI4KIiIiIiIiItOgVo8KBwcHjB8/HkuWLMHAgQPh5eUFIQT279+PBg0aQCqVajtOIiIiIiIiInoFqNWjAgA6d+6MRYsWQS6XY+3atVi9ejUsLS2xcOFCbcanFk6mSURERERERGQa1OpR8ZxMJsO4ceO0FErNcTJNIiIiIiIiItOgdo8KIiIiIiIiIiJtM4lCBYd+EBEREREREZmGag39MFQc+kFERERERERkGkyiUEFEZOoGb79e5TqTLFx1EAmR+njeEtFf8TOBiNTFoR9EREREREREZDBMokcFh34QERERERERmQaT6FFBRERERERERKaBhQoiIiIiIiIiMhgsVBARERERERGRwTCJQgUn0yQiIiIiIiIyDZxMk4iIiIiIiIgMhkn0qCAiIiIiIiIi08BCBREREREREREZDBYqiIiIiIiIiMhgmMQcFaZm8PbrVa4zycJVB5EQERERERER6ZZJ9KjgXT+IiIiIiIiITINJ9KjgXT+IiIiIiIiITINJ9KggIiIiIiIiItPAQgURERERERERGQwWKoiIiIiIiIjIYLBQQUREREREREQGg4UKIiIiIiIiIjIYLFQQERERERERkcEw+ELFli1bsGXLFn2HQUREREREREQ6YKGrHaWmpmLnzp24fPkyoqKi4ODgAAB49OgRIiMjkZeXhw4dOmDcuHEwNzcHAJw9exZOTk7IycnRVZhEREREREREpEc661FhZ2eHAQMGwM7Orszyb775BqNGjcKKFStQXFyMuLg4AIBcLsetW7fg4+OjqxCJiIiIiIiISM901qNCJpNBJpNBKpWqluXk5EChUKB169YAgMDAQOzYsQP+/v74+eefAQCHDh3CzZs38eDBAzRq1OildmNiYhATEwMAiIiIgEwm08HR1I5c3wFomCHlnLnVHuZWe5hb7VEnt+rFaxg9+4wtt8bGUPJrauctYDi5BarOL3Nbc6b2ucDcao8h5fZFFhYWBh3fq0JnhYryZGZmon79+khOTsbGjRuxePFiZGRkAACGDh0KAEhPT8eRI0fKLVIAQEBAAAICAlSPn29PusOcaw9zqz3MrfYYW257/PtMletMsnDVQSRVM7bcGhtjyq8xxQoYV7zGFCtgfPEaE+ZWeww5tzKZzKDjM2YNGzZUe129TqYpkUgAADY2NmjUqBGEEKplz7m4uGDMmDGVtpOQkICoqCitxUlEREREREREuqHXQoWzszPkcjnc3Nwwffp0yOVydrMhIiIiIiIieoXpdeiHo6MjrK2tce3aNbRt2xaHDh2q0eSZ3t7e8Pb21kKERERERERERKRLOitULFmyBNnZ2cjKykJYWBjs7e0RHh6OqVOnqm5P6unpiV69eukqJCIiIiIiIiIyMDorVCxYsKDc5a6urggPD69V2wkJCUhMTMSUKVNq1Q4RERERERER6Zdeh35oCod+EBEREREREZkGvU6mqSm86wcRERERERGRaWCPCiIiIiKi/2/w9utVrjPJwlUHkRARvbpMokcFEREREREREZkGkyhUcOgHERERERERkWng0A8iIiIiIiIiMhgm0aOCiIiIiIiIiEyDSRQqOPSDiIiIiIiIyDRw6AcRERERERERGQyT6FFBRERERERERKZBIoQQ+g6CiIiIiIiIiAhgjwqDMG/ePH2HYLKYW+1hbrWHudUu5ld7mFvtYW61h7nVHuZWe5hb7WFutac6uWWhgoiIiIiIiIgMBgsVRERERERERGQwzBcvXrxY30EQ0Lx5c32HYLKYW+1hbrWHudUu5ld7mFvtYW61h7nVHuZWe5hb7WFutUfd3HIyTSIiIiIiIiIyGBz6QUREREREREQGg4WKV1xERASSkpL0HYZR+p//+R8cOnRI32EQEWncxYsXMXv2bEyaNAn79+/XdzhUhaSkJCxfvlzfYbxyIiMjkZiYqLH2IiIiMHv2bIwePVpjbRoLXo/q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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# リスト4.5.11:配給種別・ジャンル別棒グラフの描画 (対数軸)\n", "fig = plt.figure(figsize=(18, 3))\n", "ax = fig.add_subplot(111)\n", "wt = np.array(range(len(dfag)))\n", "w = 0.1\n", "for i in dfag.columns:\n", " ax.bar(wt, dfag[i], width=w, label=i)\n", " wt = wt + w\n", "ax.set_xticks(np.array(range(len(dfag) + 2)))\n", "ax.set_xticklabels(dfag.index, ha=\"left\")\n", "ax.set_ylabel(\"のべメンバ数\")\n", "ax.set_yscale(\"log\")\n", "ax.legend()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# リスト4.5.12:積み上げ棒グラフの描画\n", "# データセットの作成\n", "x = np.arange(5)\n", "np.random.seed(0)\n", "y = np.random.rand(15).reshape((3, 5))\n", "y1, y2, y3 = y\n", "y1b = np.array(y1)\n", "y2b = y1b + np.array(y2)\n", "y3b = y2b + np.array(y3)\n", "# 積み上げ棒グラフの描画\n", "fig = plt.figure(figsize=(10, 3))\n", "ax = fig.add_subplot(111)\n", "ax.bar(x, y3b, label=\"y3\")\n", "ax.bar(x, y2b, label=\"y2\")\n", "ax.bar(x, y1b, label=\"y1\")\n", "ax.legend()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# リスト4.5.13:bottomオプションを用いて積み上げ棒グラフを描画\n", "figure = plt.figure(figsize=(10, 3))\n", "ax = figure.add_subplot(111)\n", "ax.bar(x, y3, bottom=y2b, label=\"y3\")\n", "ax.bar(x, y2, bottom=y1, label=\"y2\")\n", "ax.bar(x, y1, label=\"y1\")\n", "ax.legend()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# リスト4.5.14:配給種別・ジャンル別積み上げ棒グラフの描画\n", "fig = plt.figure(figsize=(15, 3))\n", "ax = fig.add_subplot(111)\n", "rows, cols = len(dfag), len(dfag.columns)\n", "x = range(rows)\n", "for i, t in enumerate(dfag.columns):\n", " # i列目から最終列までの和を計算\n", " y = dfag.iloc[:, i:cols].sum(axis=1)\n", " ax.bar(x, y, label=t)\n", "ax.set_xticks(range(rows + 2))\n", "ax.set_xticklabels(dfag.index)\n", "ax.set_ylabel(\"のべメンバ数\")\n", "ax.legend()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.6" } }, "nbformat": 4, "nbformat_minor": 2 }