{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " First Leaf (基本操作) \n", "
\n", "
\n", " cc by Shigeto R. Nishitani, 2017-10-31 \n", "
\n", "\n", "* file: /Users/bob/python/doing_math_with_python/first_leaf.ipynb" ] }, { "cell_type": "markdown", "metadata": { "toc": "true" }, "source": [ "# Table of Contents\n", "

1  入力とヘルプ
1.1  よく使うkeyboard short cut
1.2  数式処理libraryのimport
1.3  restart
1.4  help
1.5  その他の参考サイト
2  print
2.1  その他の環境で
3  代数式
4  plot
4.1  scipyのplot
4.2  parametrix plotでaspect比=1
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 入力とヘルプ\n", "\n", "pythonの動作環境としてnotebookを使っていきます.notebookは,文章フォーマット(title, head, 目次, 表),数式(tex記法), グラフ作成などreportを作成するための基本的な機能が備わっています.さらにhtml, latex, pdfなどへの出力が可能なため,科学技術に関連するすべての分野で社会人になっても標準的なツールとして使うことになります.read -> eval -> printというloopでcodingを進めていきます." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## よく使うkeyboard short cut\n", "1. 入力はshift+enter\n", "1. 改行はenter\n", "\n", "1. command mode(cellが青色)\n", " 1. hでhelpを表示\n", " 1. escでedit modeへ\n", " 1. ^jは下にcellを挿入\n", " 1. ^kは上にcellを挿入\n", " 1. ^xでcell cut\n", " 1. ^yでcell paste\n", " 1. ^mはcellをmarkdown cellに変更\n", " 1. yでcode cellに変更\n", "1. edit mode(cellが緑色)\n", " 1. emacsのkeybindが使える.うまくいかないときは,closeして再openするといい.\n", " 1. escでcommand modeへ" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 数式処理libraryのimport\n", "\n", "pythonはいろいろな用途に対応する汎用言語です.数式処理をさせるにはそれに必要なlibraryを読み込んでおく必要があります.sympy(symbolic python)がそれです.libraryのimportの仕方は幾つかありますが,全部読み込んでくれる\n", "``` python\n", "from sympy import *\n", "```\n", "\n", "から覚えてください." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## restart\n", "\n", "何回も入力を繰り返して,特にimportをいろいろしたり,変数への代入を繰り返すと,前のものが残っていて,挙動がおかしくなります.そういうときは,jupyter menu barにある[kernel]->[restart]で入力を一旦クリアしてもう一度関連するcode cellを入力しなおしてください." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## help\n", "helpの表示は関連するlibraryをimportしておいて,そのあと,「?」マークに続けてキーワードを打ち込めばいい." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from sympy import *" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "?Rational" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## その他の参考サイト\n", "* [sympy tutorial](http://docs.sympy.org/latest/tutorial/index.html)\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# print\n", "\n", "出力が複雑な式だと,ひとめでわかるように見やすくprintしてくれると嬉しいです.jupyter notebookではmathjaxをつかってlatex形式から綺麗に表示してくれます." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$\\int \\sqrt{\\frac{1}{x}}\\, dx$$" ], "text/plain": [ "⌠ \n", "⎮ ___ \n", "⎮ ╱ 1 \n", "⎮ ╱ ─ dx\n", "⎮ ╲╱ x \n", "⌡ " ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sympy import *\n", "from IPython.display import display\n", "init_printing(use_latex='mathjax')\n", "x = Symbol('x')\n", "com1 = Integral(sqrt(1/x),x)\n", "com1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## その他の環境で\n", "\n", "notebookではない環境ではprint(pretty(com1,use_unicode=False))が比較的綺麗.なにも明示せずにOutで帰ってくるmathjaxが一番読みやすいんですが,途中の経過を自動で表示してくれるわけではありません.そこで,比較的覚えやくて綺麗なpprintを多用します.\n", "\n", "その他の明示的な出力コマンドは次の通り.\n", "```ptyhon\n", "str(com1)  # 文字列で\n", "\n", "print(com1)  #標準的な出力\n", "pprint(com1,use_unicode=False)\n", "print(pretty(com1,use_unicode=True))\n", "print(latex(com1)) # latex表記\n", "srepr(com1) # 内部での厳密な取り扱い(Advanced Expression Manipulationをgoogleへ)\n", "```" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " / \n", " | \n", " | ___ \n", " | / 1 \n", " | / - dx\n", " | \\/ x \n", " | \n", "/ \n" ] } ], "source": [ "print(pretty(com1,use_unicode=False))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "⌠ \n", "⎮ ___ \n", "⎮ ╱ 1 \n", "⎮ ╱ ─ dx\n", "⎮ ╲╱ x \n", "⌡ \n" ] } ], "source": [ "pprint(com1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 代数式\n", "\n", "例えば,\n", "$$\n", "(x+y)^2 = x^2 + 2xy + y^2\n", "$$\n", "という展開をおこなったり,微分,積分,線形代数計算を$x,y, A, b$\n", "なんかのシンボルでそのまま変形したい時があります.\n", "\n", "こういうことをおこなってくれるシステムが数式処理システム(Computer algebra systems)と呼ばれるものです.\n", "代表的な商用製品としては,Maple, Mathematicaがあります.\n", "同じコンセプトでフリーのものには,Octave, Maxima, SciLabなどがあります.\n", "\n", "これをpython上で実現しようとしたのが,sympy, sageです.\n", "sageのほうが入出力が綺麗なんですが,残念ながらwindowsでは動きません.\n", "したがって,sympyでしばらくどこまでできるかを試してみます.\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$2 x + 1$$" ], "text/plain": [ "2⋅x + 1" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x = Symbol('x')\n", "x + x + 1" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADcAAAAQBAMAAABAXPr7AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIpm7MhCriUTv3c12\nVGZoascqAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAxUlEQVQYGWNgVDJ2YMAFwhjYf2CVuxnAwJDK\nwDATWfIOhMOalA+UnMXAkO+AJAuVZGA4D5TcH4BHEqhpfQCDUNFJoEIQQNHJwMDxnYFjIsN+iBy6\nJFcCQ+QDBmXskkoMDPoBDGtAktW7d6/cvXsbWB3IQQw8CgwMkxlYv4BF0O28xMAo+p2B9wM2SRYF\nBh7RvwzMGy5CZFFcK1VelMWwh+FVQgEWyf3///9iCDvumNOAKqk2f9sDiAgSCTcWSQzODISzGBgA\ngas+fHMfCcsAAAAASUVORK5CYII=\n", "text/latex": [ "$$2 a + 1$$" ], "text/plain": [ "2⋅a + 1" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x = Symbol('a')\n", "x + x + 1" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'a'" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x.name" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACAAAAASBAMAAADI5sFhAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIpm7MhCriUTv3c12\nVGZoascqAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA0klEQVQYGWNgVDJ2YEAGYQzsP5D5DKkMDDNR\nBGYxMOQ7IIvsD0ATAEquD2A9k9hTwxCjw8A4Fcjn+M4QzvDqwGqGgpsMPB+AAlwJDKUM9QEXGS9o\nMzAbAAWUGBgCGDYzMLAyzGHgP8DAwKMAFGT4A8QcHxn8HRgYLjEwCjCwfAEKMG1gOMnAwKLAwCNw\nFWjYUQbmBAYzBgap8qIsjr/MHxgfMDAZcPxjYNj///8v1pyjh94BTU0/9BGoExkATUEG2QzxDch8\nhnUMNih8hp5DDgwMABYRMp44DCdhAAAAAElFTkSuQmCC\n", "text/latex": [ "$$2 x y$$" ], "text/plain": [ "2⋅x⋅y" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x,y,z = symbols('x,y,z')\n", "s = x*y + y*x\n", "s" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAB0AAAAUBAMAAACDsiv0AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIpm7MhCriUTv3c12\nVGZoascqAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAuklEQVQYGWNgQAB2ZVUEB8gqZMhG4S9k8BdA\nFljBIN+AzGdguB+Ayl/DwMCoZOwAE2RXYGAIY2D/AeM/AjJSGRhmQvkcBRwODLMYGPIdIALedy8H\nMOwPgPPn//8PllgfwHomsacGqouB4ztDOMOrA6thfK4EhlKG+oCLML4SA0MAw2YYj4FHAcT8A+df\nYmAUYGD5AuOzKDDwCFzl+cBwFCIiVV6UxfGX+QPjAwh/////v1hzjh56B+ECAL4vLTO4aP+SAAAA\nAElFTkSuQmCC\n", "text/latex": [ "$$2 x^{2}$$" ], "text/plain": [ " 2\n", "2⋅x " ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p = x*(x+x)\n", "p" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 2\n", "2⋅x \n" ] } ], "source": [ "pprint(p)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACAAAAAvBAMAAABwAtUSAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIpm7MhCriUTv3c12\nVGZoascqAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABHElEQVQoFWNgQAI1agFIPAYGpgdMBqgCBXwf\nUASAalBVMDBEOgBVCCmbwNTx7AGyWBMY6htgIiAtbAEMnBNgAox/GRg4FzCwfYEIRDow/mNg4P4K\nF+AS4JkKluL6yhBzTOL4AZaaMgGwQH8BawHfGq4NMJMYljGwB7B/5YXIAkWZFBhYGbgN4PIMh0BM\n/gNwAV4FBkEGBn8HuIATA8NB3oDzDDwBECHG5eVqC/ov2DPIQZVw////f0HYmRi9B3A9g4MBdBcK\noKWrGMuLL6CYL8TAC4w0JHD+AsMvJC4DQ2cD628UAQZ0LQwMUQWoKsQXQWMBLsw+A86EMmaiKAFG\npj2Ky/4HoAlMZmBYL4BsyDsG3j/IfAYOJeUGiAAAiZ9LLvd1Jb8AAAAASUVORK5CYII=\n", "text/latex": [ "$$\\frac{2 x^{3}}{3}$$" ], "text/plain": [ " 3\n", "2⋅x \n", "────\n", " 3 " ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p.integrate(x)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACAAAAAvBAMAAABwAtUSAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIpm7MhCriUTv3c12\nVGZoascqAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABHElEQVQoFWNgQAI1agFIPAYGpgdMBqgCBXwf\nUASAalBVMDBEOgBVCCmbwNTx7AGyWBMY6htgIiAtbAEMnBNgAox/GRg4FzCwfYEIRDow/mNg4P4K\nF+AS4JkKluL6yhBzTOL4AZaaMgGwQH8BawHfGq4NMJMYljGwB7B/5YXIAkWZFBhYGbgN4PIMh0BM\n/gNwAV4FBkEGBn8HuIATA8NB3oDzDDwBECHG5eVqC/ov2DPIQZVw////f0HYmRi9B3A9g4MBdBcK\noKWrGMuLL6CYL8TAC4w0JHD+AsMvJC4DQ2cD628UAQZ0LQwMUQWoKsQXQWMBLsw+A86EMmaiKAFG\npj2Ky/4HoAlMZmBYL4BsyDsG3j/IfAYOJeUGiAAAiZ9LLvd1Jb8AAAAASUVORK5CYII=\n", "text/latex": [ "$$\\frac{2 x^{3}}{3}$$" ], "text/plain": [ " 3\n", "2⋅x \n", "────\n", " 3 " ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "integrate(p,x)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "32\n", "128/3\n" ] } ], "source": [ "print(p.subs({x:4}))\n", "print(p.integrate(x).subs({x:4}))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# plot\n", "\n", "簡単なplotです.\n", "\n", "1. 複数の関数のplot, 色の変更まで.\n", "1. parametric plotして円をaspect_ratio 1:1で.最後に追加.\n", "1. sin(x) * cos(y) ぐりぐりはできなさそう.Axes3Dでできることを確認.\n", "\n", "はじめの%matplotlib inlineはplotをnotebookのなかに表示させる呪文です." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nIYRQoD8BUnXMpbCveNQAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%matplotlib inline\n", "\n", "from sympy import *\n", "x = Symbol('x')\n", "plot(sin(x))" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "p = plot(sin(x), cos(x), (x, -pi, pi), ylim=[-0.5,1],\n", " legend=True, show=False)\n", "p[0].line_color = 'b'\n", "p[1].line_color = 'r'\n", "p.show()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWQAAADuCAYAAAAOR30qAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvXmUXNdd7/vZZ6i5ep7Ug6RuqTUPlmRZk52ZDOYBCYG3\nILx7Vx4JCTdhXVgk4YabCyx43AU3ySMMAcLlJgRIiC/LeSQkxIlNbMe2LEu2JUvW3HOr56m65uEM\n+/1xqqqrpZ6qB1tyzmctL5eqzzl7n1OnvvU7v/0bhJQSFxcXF5fXH+X1noCLi4uLi4MryC4uLi53\nCa4gu7i4uNwluILs4uLicpfgCrKLi4vLXYIryC4uLi53Ca4gu7i4uNwluILs4uLicpfgCrKLi4vL\nXYJW5vZuWp+Li4tL+YiVbORayC4uLi53Ca4gu7i4uNwluILs4uLicpfgCrKLi4vLXYIryC4uLi53\nCa4gu7i4uNwluILs4uLicpfgCrKLi4vLXYIryC4uLi53Ca4gu7i4uNwluILs4uLicpfgCrKLi4vL\nXUK5xYVcXJZESollWQCoqooQK6qp4uLigivILuuEbdtYloVpmmSz2eL7QghUVS3+pygKiqIghHDF\n2sXlNlxBdlkTtm1jmmbRKhZCFAVXSqdaa0GoSylsp6oqmqa5Qu3iAojCl2aFuPWQXZBSIqXEMAxs\n2wYoCqmUklwut6yoFo4hpcS2bbq6uti5c6cr1C5vVFZ087oWssuKKYhnJBIhGAwCrFooS/cTQpBK\npVBVtTiGZVnkcrl5+5S6PgruD1eoXd5IuILssiwFkTRNE9u2uXTpEidPnlw3ISx1bywmsKVCLaWc\nt02pQN/up3ZxuZdwBdllUQoRE6ZpFkWw9L/XktUItRCCbDZLRUWFK9Qu9wSuILvcwUJCrCgbF7K+\nFoFcSqgNw+Dq1ascPHhw3jYFS3qhyA8Xl9cTV5BdikgpixETaxHiu0HYSqM9NG3uNi+4RkzTxDCM\nefu4Qu3yeuMKsktRiAuhaRttEb+elC4klrKUUBdiqUujPtykF5eNwBXkH2NKkzlg9RET60GZ4Zfr\nznJCfbsLZ2hoiNbWVjRNc5NeXNYNV5B/DClETEQiEcbGxorxv+Vw+wLaSv92r7GYUI+Pj9PW1rZk\n0ktBrF2hdlkpriD/mLBYModpmmWLRCFMbT3F5V4TqsXcOgWL2rbteSnkpfu4SS8ui+EK8huc22OI\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%matplotlib inline\n", "from sympy import *\n", "from sympy.plotting import plot3d\n", "x,y = symbols('x,y')\n", "\n", "plot3d(sin(x)*cos(y), (x,-pi,pi),(y,-pi,pi))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## scipyのplot\n", "\n", "scipy lectureの[matplotlib](http://www.scipy-lectures.org/intro/matplotlib/matplotlib.html)\n", "を参照しています." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "application/javascript": [ "/* Put everything inside the global mpl namespace */\n", "window.mpl = {};\n", "\n", "\n", "mpl.get_websocket_type = function() {\n", " if (typeof(WebSocket) !== 'undefined') {\n", " return WebSocket;\n", " } else if (typeof(MozWebSocket) !== 'undefined') {\n", " return MozWebSocket;\n", " } else {\n", " alert('Your browser does not have WebSocket support.' +\n", " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", " 'Firefox 4 and 5 are also supported but you ' +\n", " 'have to enable WebSockets in about:config.');\n", " };\n", "}\n", "\n", "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", " this.id = figure_id;\n", "\n", " this.ws = websocket;\n", "\n", " this.supports_binary = (this.ws.binaryType != undefined);\n", "\n", " if (!this.supports_binary) {\n", " var warnings = document.getElementById(\"mpl-warnings\");\n", " if (warnings) {\n", " warnings.style.display = 'block';\n", " warnings.textContent = (\n", " \"This browser does not support binary websocket messages. \" +\n", " \"Performance may be slow.\");\n", " }\n", " }\n", "\n", " this.imageObj = new Image();\n", "\n", " this.context = undefined;\n", " this.message = undefined;\n", " this.canvas = undefined;\n", " this.rubberband_canvas = undefined;\n", " this.rubberband_context = undefined;\n", " this.format_dropdown = undefined;\n", "\n", " this.image_mode = 'full';\n", "\n", " this.root = $('
');\n", " this._root_extra_style(this.root)\n", " this.root.attr('style', 'display: inline-block');\n", "\n", " $(parent_element).append(this.root);\n", "\n", " this._init_header(this);\n", " this._init_canvas(this);\n", " this._init_toolbar(this);\n", "\n", " var fig = this;\n", "\n", " this.waiting = false;\n", "\n", " this.ws.onopen = function () {\n", " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", " fig.send_message(\"send_image_mode\", {});\n", " if (mpl.ratio != 1) {\n", " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", " }\n", " fig.send_message(\"refresh\", {});\n", " }\n", "\n", " this.imageObj.onload = function() {\n", " if (fig.image_mode == 'full') {\n", " // Full images could contain transparency (where diff images\n", " // almost always do), so we need to clear the canvas so that\n", " // there is no ghosting.\n", " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", " }\n", " fig.context.drawImage(fig.imageObj, 0, 0);\n", " };\n", "\n", " this.imageObj.onunload = function() {\n", " this.ws.close();\n", " }\n", "\n", " this.ws.onmessage = this._make_on_message_function(this);\n", "\n", " this.ondownload = ondownload;\n", "}\n", "\n", "mpl.figure.prototype._init_header = function() {\n", " var titlebar = $(\n", " '
');\n", " var titletext = $(\n", " '
');\n", " titlebar.append(titletext)\n", " this.root.append(titlebar);\n", " this.header = titletext[0];\n", "}\n", "\n", "\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "\n", "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "mpl.figure.prototype._init_canvas = function() {\n", " var fig = this;\n", "\n", " var canvas_div = $('
');\n", "\n", " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", "\n", " function canvas_keyboard_event(event) {\n", " return fig.key_event(event, event['data']);\n", " }\n", "\n", " canvas_div.keydown('key_press', canvas_keyboard_event);\n", " canvas_div.keyup('key_release', canvas_keyboard_event);\n", " this.canvas_div = canvas_div\n", " this._canvas_extra_style(canvas_div)\n", " this.root.append(canvas_div);\n", "\n", " var canvas = $('');\n", " canvas.addClass('mpl-canvas');\n", " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", "\n", " this.canvas = canvas[0];\n", " this.context = canvas[0].getContext(\"2d\");\n", "\n", " var backingStore = this.context.backingStorePixelRatio ||\n", "\tthis.context.webkitBackingStorePixelRatio ||\n", "\tthis.context.mozBackingStorePixelRatio ||\n", "\tthis.context.msBackingStorePixelRatio ||\n", "\tthis.context.oBackingStorePixelRatio ||\n", "\tthis.context.backingStorePixelRatio || 1;\n", "\n", " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n", "\n", " var rubberband = $('');\n", " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", "\n", " var pass_mouse_events = true;\n", "\n", " canvas_div.resizable({\n", " start: function(event, ui) {\n", " pass_mouse_events = false;\n", " },\n", " resize: function(event, ui) {\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " stop: function(event, ui) {\n", " pass_mouse_events = true;\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " });\n", "\n", " function mouse_event_fn(event) {\n", " if (pass_mouse_events)\n", " return fig.mouse_event(event, event['data']);\n", " }\n", "\n", " rubberband.mousedown('button_press', mouse_event_fn);\n", " rubberband.mouseup('button_release', mouse_event_fn);\n", " // Throttle sequential mouse events to 1 every 20ms.\n", " rubberband.mousemove('motion_notify', mouse_event_fn);\n", "\n", " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", "\n", " canvas_div.on(\"wheel\", function (event) {\n", " event = event.originalEvent;\n", " event['data'] = 'scroll'\n", " if (event.deltaY < 0) {\n", " event.step = 1;\n", " } else {\n", " event.step = -1;\n", " }\n", " mouse_event_fn(event);\n", " });\n", "\n", " canvas_div.append(canvas);\n", " canvas_div.append(rubberband);\n", "\n", " this.rubberband = rubberband;\n", " this.rubberband_canvas = rubberband[0];\n", " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", " this.rubberband_context.strokeStyle = \"#000000\";\n", "\n", " this._resize_canvas = function(width, height) {\n", " // Keep the size of the canvas, canvas container, and rubber band\n", " // canvas in synch.\n", " canvas_div.css('width', width)\n", " canvas_div.css('height', height)\n", "\n", " canvas.attr('width', width * mpl.ratio);\n", " canvas.attr('height', height * mpl.ratio);\n", " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n", "\n", " rubberband.attr('width', width);\n", " rubberband.attr('height', height);\n", " }\n", "\n", " // Set the figure to an initial 600x600px, this will subsequently be updated\n", " // upon first draw.\n", " this._resize_canvas(600, 600);\n", "\n", " // Disable right mouse context menu.\n", " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", " return false;\n", " });\n", "\n", " function set_focus () {\n", " canvas.focus();\n", " canvas_div.focus();\n", " }\n", "\n", " window.setTimeout(set_focus, 100);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('
')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items) {\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) {\n", " // put a spacer in here.\n", " continue;\n", " }\n", " var button = $('');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", " nav_element.append(button);\n", " }\n", "\n", " // Add the status bar.\n", " var status_bar = $('');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "\n", " // Add the close button to the window.\n", " var buttongrp = $('
');\n", " var button = $('');\n", " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", " buttongrp.append(button);\n", " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", " titlebar.prepend(buttongrp);\n", "}\n", "\n", "mpl.figure.prototype._root_extra_style = function(el){\n", " var fig = this\n", " el.on(\"remove\", function(){\n", "\tfig.close_ws(fig, {});\n", " });\n", "}\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(el){\n", " // this is important to make the div 'focusable\n", " el.attr('tabindex', 0)\n", " // reach out to IPython and tell the keyboard manager to turn it's self\n", " // off when our div gets focus\n", "\n", " // location in version 3\n", " if (IPython.notebook.keyboard_manager) {\n", " IPython.notebook.keyboard_manager.register_events(el);\n", " }\n", " else {\n", " // location in version 2\n", " IPython.keyboard_manager.register_events(el);\n", " }\n", "\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " var manager = IPython.notebook.keyboard_manager;\n", " if (!manager)\n", " manager = IPython.keyboard_manager;\n", "\n", " // Check for shift+enter\n", " if (event.shiftKey && event.which == 13) {\n", " this.canvas_div.blur();\n", " // select the cell after this one\n", " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", " IPython.notebook.select(index + 1);\n", " }\n", "}\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " fig.ondownload(fig, null);\n", "}\n", "\n", "\n", "mpl.find_output_cell = function(html_output) {\n", " // Return the cell and output element which can be found *uniquely* in the notebook.\n", " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", " // IPython event is triggered only after the cells have been serialised, which for\n", " // our purposes (turning an active figure into a static one), is too late.\n", " var cells = IPython.notebook.get_cells();\n", " var ncells = cells.length;\n", " for (var i=0; i= 3 moved mimebundle to data attribute of output\n", " data = data.data;\n", " }\n", " if (data['text/html'] == html_output) {\n", " return [cell, data, j];\n", " }\n", " }\n", " }\n", " }\n", "}\n", "\n", "// Register the function which deals with the matplotlib target/channel.\n", "// The kernel may be null if the page has been refreshed.\n", "if (IPython.notebook.kernel != null) {\n", " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", "}\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Create a figure of size 8x6 inches, 80 dots per inch\n", "plt.figure(figsize=(8, 6), dpi=80)\n", "\n", "# Create a new subplot from a grid of 1x1\n", "plt.subplot(1, 1, 1)\n", "\n", "X = np.linspace(-np.pi, np.pi, 256, endpoint=True)\n", "C, S = np.cos(X), np.sin(X)\n", "\n", "# Plot cosine with a blue continuous line of width 1 (pixels)\n", "plt.plot(X, C, color=\"blue\", linewidth=1.0, linestyle=\"-\")\n", "\n", "# Plot sine with a green continuous line of width 1 (pixels)\n", "plt.plot(X, S, color=\"green\", linewidth=1.0, linestyle=\"-\")\n", "\n", "# Set x limits\n", "plt.xlim(-4.0, 4.0)\n", "\n", "# Set x ticks\n", "plt.xticks(np.linspace(-4, 4, 9, endpoint=True))\n", "\n", "# Set y limits\n", "plt.ylim(-1.0, 1.0)\n", "\n", "# Set y ticks\n", "plt.yticks(np.linspace(-1, 1, 5, endpoint=True))\n", "\n", "# Save figure using 72 dots per inch\n", "# plt.savefig(\"exercice_2.png\", dpi=72)\n", "\n", "# Show result on screen\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "以下にしめした3DでぐりぐりさせるAxes3Dはsympyをimportしているとうまく動かない.\n", "どっかで,conflictが起こっている.\n", "notebookのmenu barのkernel->Restartで初期化する必要あり." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "application/javascript": [ "/* Put everything inside the global mpl namespace */\n", "window.mpl = {};\n", "\n", "\n", "mpl.get_websocket_type = function() {\n", " if (typeof(WebSocket) !== 'undefined') {\n", " return WebSocket;\n", " } else if (typeof(MozWebSocket) !== 'undefined') {\n", " return MozWebSocket;\n", " } else {\n", " alert('Your browser does not have WebSocket support.' +\n", " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", " 'Firefox 4 and 5 are also supported but you ' +\n", " 'have to enable WebSockets in about:config.');\n", " };\n", "}\n", "\n", "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", " this.id = figure_id;\n", "\n", " this.ws = websocket;\n", "\n", " this.supports_binary = (this.ws.binaryType != undefined);\n", "\n", " if (!this.supports_binary) {\n", " var warnings = document.getElementById(\"mpl-warnings\");\n", " if (warnings) {\n", " warnings.style.display = 'block';\n", " warnings.textContent = (\n", " \"This browser does not support binary websocket messages. \" +\n", " \"Performance may be slow.\");\n", " }\n", " }\n", "\n", " this.imageObj = new Image();\n", "\n", " this.context = undefined;\n", " this.message = undefined;\n", " this.canvas = undefined;\n", " this.rubberband_canvas = undefined;\n", " this.rubberband_context = undefined;\n", " this.format_dropdown = undefined;\n", "\n", " this.image_mode = 'full';\n", "\n", " this.root = $('
');\n", " this._root_extra_style(this.root)\n", " this.root.attr('style', 'display: inline-block');\n", "\n", " $(parent_element).append(this.root);\n", "\n", " this._init_header(this);\n", " this._init_canvas(this);\n", " this._init_toolbar(this);\n", "\n", " var fig = this;\n", "\n", " this.waiting = false;\n", "\n", " this.ws.onopen = function () {\n", " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", " fig.send_message(\"send_image_mode\", {});\n", " if (mpl.ratio != 1) {\n", " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", " }\n", " fig.send_message(\"refresh\", {});\n", " }\n", "\n", " this.imageObj.onload = function() {\n", " if (fig.image_mode == 'full') {\n", " // Full images could contain transparency (where diff images\n", " // almost always do), so we need to clear the canvas so that\n", " // there is no ghosting.\n", " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", " }\n", " fig.context.drawImage(fig.imageObj, 0, 0);\n", " };\n", "\n", " this.imageObj.onunload = function() {\n", " this.ws.close();\n", " }\n", "\n", " this.ws.onmessage = this._make_on_message_function(this);\n", "\n", " this.ondownload = ondownload;\n", "}\n", "\n", "mpl.figure.prototype._init_header = function() {\n", " var titlebar = $(\n", " '
');\n", " var titletext = $(\n", " '
');\n", " titlebar.append(titletext)\n", " this.root.append(titlebar);\n", " this.header = titletext[0];\n", "}\n", "\n", "\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "\n", "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "mpl.figure.prototype._init_canvas = function() {\n", " var fig = this;\n", "\n", " var canvas_div = $('
');\n", "\n", " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", "\n", " function canvas_keyboard_event(event) {\n", " return fig.key_event(event, event['data']);\n", " }\n", "\n", " canvas_div.keydown('key_press', canvas_keyboard_event);\n", " canvas_div.keyup('key_release', canvas_keyboard_event);\n", " this.canvas_div = canvas_div\n", " this._canvas_extra_style(canvas_div)\n", " this.root.append(canvas_div);\n", "\n", " var canvas = $('');\n", " canvas.addClass('mpl-canvas');\n", " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", "\n", " this.canvas = canvas[0];\n", " this.context = canvas[0].getContext(\"2d\");\n", "\n", " var backingStore = this.context.backingStorePixelRatio ||\n", "\tthis.context.webkitBackingStorePixelRatio ||\n", "\tthis.context.mozBackingStorePixelRatio ||\n", "\tthis.context.msBackingStorePixelRatio ||\n", "\tthis.context.oBackingStorePixelRatio ||\n", "\tthis.context.backingStorePixelRatio || 1;\n", "\n", " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n", "\n", " var rubberband = $('');\n", " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", "\n", " var pass_mouse_events = true;\n", "\n", " canvas_div.resizable({\n", " start: function(event, ui) {\n", " pass_mouse_events = false;\n", " },\n", " resize: function(event, ui) {\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " stop: function(event, ui) {\n", " pass_mouse_events = true;\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " });\n", "\n", " function mouse_event_fn(event) {\n", " if (pass_mouse_events)\n", " return fig.mouse_event(event, event['data']);\n", " }\n", "\n", " rubberband.mousedown('button_press', mouse_event_fn);\n", " rubberband.mouseup('button_release', mouse_event_fn);\n", " // Throttle sequential mouse events to 1 every 20ms.\n", " rubberband.mousemove('motion_notify', mouse_event_fn);\n", "\n", " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", "\n", " canvas_div.on(\"wheel\", function (event) {\n", " event = event.originalEvent;\n", " event['data'] = 'scroll'\n", " if (event.deltaY < 0) {\n", " event.step = 1;\n", " } else {\n", " event.step = -1;\n", " }\n", " mouse_event_fn(event);\n", " });\n", "\n", " canvas_div.append(canvas);\n", " canvas_div.append(rubberband);\n", "\n", " this.rubberband = rubberband;\n", " this.rubberband_canvas = rubberband[0];\n", " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", " this.rubberband_context.strokeStyle = \"#000000\";\n", "\n", " this._resize_canvas = function(width, height) {\n", " // Keep the size of the canvas, canvas container, and rubber band\n", " // canvas in synch.\n", " canvas_div.css('width', width)\n", " canvas_div.css('height', height)\n", "\n", " canvas.attr('width', width * mpl.ratio);\n", " canvas.attr('height', height * mpl.ratio);\n", " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n", "\n", " rubberband.attr('width', width);\n", " rubberband.attr('height', height);\n", " }\n", "\n", " // Set the figure to an initial 600x600px, this will subsequently be updated\n", " // upon first draw.\n", " this._resize_canvas(600, 600);\n", "\n", " // Disable right mouse context menu.\n", " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", " return false;\n", " });\n", "\n", " function set_focus () {\n", " canvas.focus();\n", " canvas_div.focus();\n", " }\n", "\n", " window.setTimeout(set_focus, 100);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('
')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items) {\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) {\n", " // put a spacer in here.\n", " continue;\n", " }\n", " var button = $('');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", " nav_element.append(button);\n", " }\n", "\n", " // Add the status bar.\n", " var status_bar = $('');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "\n", " // Add the close button to the window.\n", " var buttongrp = $('
');\n", " var button = $('');\n", " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", " buttongrp.append(button);\n", " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", " titlebar.prepend(buttongrp);\n", "}\n", "\n", "mpl.figure.prototype._root_extra_style = function(el){\n", " var fig = this\n", " el.on(\"remove\", function(){\n", "\tfig.close_ws(fig, {});\n", " });\n", "}\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(el){\n", " // this is important to make the div 'focusable\n", " el.attr('tabindex', 0)\n", " // reach out to IPython and tell the keyboard manager to turn it's self\n", " // off when our div gets focus\n", "\n", " // location in version 3\n", " if (IPython.notebook.keyboard_manager) {\n", " IPython.notebook.keyboard_manager.register_events(el);\n", " }\n", " else {\n", " // location in version 2\n", " IPython.keyboard_manager.register_events(el);\n", " }\n", "\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " var manager = IPython.notebook.keyboard_manager;\n", " if (!manager)\n", " manager = IPython.keyboard_manager;\n", "\n", " // Check for shift+enter\n", " if (event.shiftKey && event.which == 13) {\n", " this.canvas_div.blur();\n", " // select the cell after this one\n", " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", " IPython.notebook.select(index + 1);\n", " }\n", "}\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " fig.ondownload(fig, null);\n", "}\n", "\n", "\n", "mpl.find_output_cell = function(html_output) {\n", " // Return the cell and output element which can be found *uniquely* in the notebook.\n", " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", " // IPython event is triggered only after the cells have been serialised, which for\n", " // our purposes (turning an active figure into a static one), is too late.\n", " var cells = IPython.notebook.get_cells();\n", " var ncells = cells.length;\n", " for (var i=0; i= 3 moved mimebundle to data attribute of output\n", " data = data.data;\n", " }\n", " if (data['text/html'] == html_output) {\n", " return [cell, data, j];\n", " }\n", " }\n", " }\n", " }\n", "}\n", "\n", "// Register the function which deals with the matplotlib target/channel.\n", "// The kernel may be null if the page has been refreshed.\n", "if (IPython.notebook.kernel != null) {\n", " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", "}\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib notebook\n", "from mpl_toolkits.mplot3d import Axes3D\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "def f(x,y):\n", " return np.sin(x)*np.cos(y)\n", "\n", "x = np.arange(-np.pi, np.pi, 0.02)\n", "y = np.arange(-np.pi, np.pi, 0.02)\n", "X, Y = np.meshgrid(x, y)\n", "Z1 = f(X,Y)\n", "\n", "fig = plt.figure()\n", "plot3d = Axes3D(fig)\n", "plot3d.plot_surface(X,Y,Z1) \n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## parametrix plotでaspect比=1\n", "\n", "inlineで表示するとaspect ratio <> 1だね.それを外すとうまく表示してくれる." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "import sympy as sp\n", "p = plotting.plot_parametric(cos(t),sin(t),(t,0,2*pi))\n", "ax = p._backend.ax\n", "ax.set_aspect('equal')\n", "fig.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.1" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autocomplete": true, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 1, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false }, "toc": { "colors": { "hover_highlight": "#DAA520", "navigate_num": "#000000", "navigate_text": "#333333", "running_highlight": "#FF0000", "selected_highlight": "#FFD700", "sidebar_border": "#EEEEEE", "wrapper_background": "#FFFFFF" }, "moveMenuLeft": true, "nav_menu": { "height": "48px", "width": "252px" }, "navigate_menu": true, "number_sections": true, "sideBar": true, "threshold": 4, "toc_cell": true, "toc_section_display": "block", "toc_window_display": true, "widenNotebook": false } }, "nbformat": 4, "nbformat_minor": 2 }