{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Basics of plotting (matplotlibを用いた描画の基本)\n", "\n", "
\n", " [ipynb source of this note]\n", "
\n", " [To homepage]\n", "
\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## plotの基本\n", "\n", " - プロットライブラリmatplotlibの中のpyplotを利用\n", " - x,yの値をそれぞれリスト(1次元配列)として生成\n", " - pyplotのplot関数の引数にx,yを与える\n", " - 画面への出力関数showを実行\n", "\n", "【注】\n", "\n", "最初にpyplotの関数利用を体験し、次にオブジェクト指向型の使い方を説明する。それぞれ異なった関数名があるので混乱しやすいが、このような複数のスタイルがあることを認識していれば慣れやすいと思う。" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "x = np.linspace(-np.pi, np.pi, 100) # [-pi, pi]を100等分した値を配列(リスト)に\n", "y = np.sin(x + 1.0) # yもxと同じ要素数のリスト (numpyの数学関数はリストを引数にすることができる)\n", "plt.plot(x, y) # xとyともリスト\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 装飾をつける\n", "\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "y1 = np.cos(x + 1.5)\n", "plt.plot(x,y)\n", "plt.plot(x,y1)\n", "plt.xlabel(\"x\") # 単純な軸ラベル\n", "plt.ylabel(\"$\\\\sin (x+1.0)$, $\\\\cos (x+1.5)$\") # 数式をLaTeX文法で入れる\n", "plt.title(\"Title\")\n", "plt.legend([\"$\\\\sin (x+1.0)$\", \"$\\\\cos (x+1.5)$\"]) # 凡例はリストあるいはタプル(定数のリスト)で与える\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "2価関数的なplotも可能 → 軌跡描画などに使用" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(y,x)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## オブジェクト指向的な書き方\n", "\n", "\n", "- fig = plt.figure()で全体のオブジェクトを生成する。(大きさも設定)\n", "- fig.subplot()関数を利用して、figに個々のプロットオブジェクトを生成する。\n", "- add_subplotメソッドによりプロットオブジェクトを生成する。(一つの座標軸なので、axisと呼ぶことが多い。)\n", "- プロットオブジェクトにいろいろなメソッドがある。(pltのメソッドと名称や引数定義が異なる。)\n", "\n", "こちらのほうが自由度が多いので推奨する。(Web上の参考事例では両者が混ざっていることもあるのでわかりにくい。)\n", "\n", "(注)\n", " - 最後にplt.show()を実行しなくても描画されるがその理由はわからない。(画面に描画する必要はなく、内容をファイルに書き出す場合もあるので、画面に出す場合はshow()を使えとマニュアルに書いてある。)\n", " - ファイルに書きだす場合はsavefig(\"ファイル名\")を使う。ファイル名の拡張子をみて、多くの場合、自動的に画像フォーマットが決められる。\n", "\n", "下の例のようにadd_subplotで追加する方法以外に\n", "```python\n", "fig, axs = plt.subplots((2,2), figsize=(5,5))\n", "```\n", "と、複数のsubplotを作ってしまうこともできる。この場合、axsは2行2列のaxisの配列になる。\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "fig = plt.figure(figsize=(9,5)) # オプションは省略可、ほかにもオプションはある\n", "x = np.linspace(-np.pi, np.pi, 100) # [-pi, pi]を100等分した値を配列(リスト)に\n", "y = np.sin(x + 1.0) # yもxと同じ要素数のリスト\n", "y1 = np.cos(x + 1.5)\n", "\n", "ax1 = fig.add_subplot(1,2,1) # 1行2列の1番目\n", "ax1.plot(x, y)\n", "ax1.set_xlabel(\"$x$\") # plotオブジェクトに対していろいろなメソッドがある。\n", "\n", "ax2 = fig.add_subplot(1,2,2)\n", "ax2.plot(x,y1)\n", "ax2.plot(x, x**2)\n", "ax2.set_title(\"Plot2\")\n", "ax2.legend((\"plo1\", \"plot2\"))\n", "\n", "# plt.savefig(\"test.pdf\") # ファイルに書き出す" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "pandasのDataFrameの複数のデータのプロットを一つの図に入れ込むときは、上記のようにaxisを作っておいて、DataFrameのplotのオプションにaxにプロットオブジェクトを指定する。" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "# A simplest inline gui: using \"interact\" in ipywidgets" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "7a784f0faa334f7095d72dc03491f39d", "version_major": 2, "version_minor": 0 }, "text/plain": [ "interactive(children=(FloatSlider(value=1.0, description='amp', max=4.0, min=0.1), FloatSlider(value=1.0, desc…" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from ipywidgets import interact\n", "\n", "def my_plot(amp=1.0, omega=1.0, phase=0.0): # 振幅、各振動数、位相シフトを引数とするsinプロット\n", " domain=[-np.pi, np.pi]\n", " x = np.linspace(domain[0], domain[1], 100)\n", " y = amp * np.sin(omega * x + phase)\n", " plt.plot(x, y)\n", " plt.show()\n", "\n", "interact(my_plot, amp=(0.1, 4.0, 0.1), omega=(0.1, 4.0, 0.1), phase=(-np.pi, np.pi, 0.1))\n", "# widgetの種類を特定せず(最小,最大, 初期値)のみを与えた場合は、スライダになる。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Using \"interact_manual\"\n", "\n", "Plotting starts after pushing \"Run Interact\".\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "ae4cf2cdd01e4c3cb88974f38d744544", "version_major": 2, "version_minor": 0 }, "text/plain": [ "interactive(children=(FloatSlider(value=1.0, description='amp', max=4.0, min=0.1), FloatSlider(value=1.0, desc…" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from ipywidgets import interact_manual\n", "interact_manual(my_plot, amp=(0.1, 4.0, 0.1), omega=(0.1, 4.0, 0.1), phase=(-np.pi, np.pi, 0.1))" ] }, { "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.13" }, "toc": { "base_numbering": 1, "nav_menu": { "height": "12px", "width": "252px" }, "number_sections": true, "sideBar": true, "skip_h1_title": true, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": { "height": "calc(100% - 180px)", "left": "10px", "top": "150px", "width": "165px" }, "toc_section_display": "block", "toc_window_display": true }, "widgets": { "state": { "7d2149f5df6741729b01d5486ae471c9": { "views": [ { "cell_index": 4 } ] }, "9d77e8020002410db488d73aa2db6c6a": { "views": [ { "cell_index": 2 } ] } }, "version": "1.2.0" } }, "nbformat": 4, "nbformat_minor": 2 }