{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "zbtM7cO_Mbg7" }, "source": [ "# matplotlib tutorial (5) nitta@tsuda.ac.jp\n", "\n", "# Chapter 5: Draw text in the graph area." ] }, { "cell_type": "markdown", "metadata": { "id": "iq4Pk5mubc_k" }, "source": [ "## 5-1: Plot text in the graph area (pyplot.text)\n", "\n", "Use Axes.text(x, y, text, ...) to draw a text.\n", "\n", "for boxed text, pass the attributes in dictionary fromat to the bbox parameter.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 390 }, "executionInfo": { "elapsed": 786, "status": "ok", "timestamp": 1648474880080, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "ZOJKr9TMMX93", "outputId": "8bb21c0e-a788-4e04-ddb9-492e792e7489" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# sample code 5-1\n", "%matplotlib inline\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "xs = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\n", "ys = [5.4, 8.5, 12.8, 15.1, 19.5, 23.2, 24.3, 29.1, 24.2, 17.5, 14.0, 7.7] \n", "\n", "fig, ax = plt.subplots(1, 1, figsize=(8, 6))\n", "\n", "ax.set_title('Average temperature')\n", "ax.set_ylim(0, 35)\n", "\n", "ax.plot(xs, ys)\n", "\n", "ax.text(8, 30, 'peak', size=20, ha='center')\n", "\n", "dic1={\n", " 'boxstyle': 'round', \n", " 'facecolor': 'pink', \n", " 'edgecolor': 'red', \n", " 'linestyle': 'solid', \n", " 'linewidth': 2\n", "}\n", "ax.text(2.5, 15, 'warmer and warmer', size=15, rotation=40, bbox=dic1)\n", "\n", "dic2={\n", " 'boxstyle': 'circle', \n", " 'facecolor': 'cyan', \n", " 'edgecolor': 'blue', \n", " 'linestyle': 'dashed', \n", " 'linewidth': 2\n", "}\n", "ax.text(10, 20, 'getting chill', bbox=dic2)\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "id": "m8299yEEhXsr" }, "source": [ "## 5-2: Display labels on all data points (transorms.offset_copy)\n", "\n", "The value for each marker is displayed as its label on the scatter diagram in which the markers are plotted.\n", "It is convenient to set the offset information in a batch by using the Transform object that manages the offset information of the Axes object.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 374 }, "executionInfo": { "elapsed": 721, "status": "ok", "timestamp": 1648474880799, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "kHOKTCmXdhnB", "outputId": "fd2fcb0e-6142-4ceb-cc45-671f07420c5f" }, "outputs": [ { "data": { "image/png": "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799/hrsDACC1DPghLOeck+ROs77OORd0zgWzs7MHujsAAFLCmQbwPjPLlaTotGPwSgIAIPWdaQCvkXRrdP5WSasHpxwAANJDX76GtELS7yR9ysz2mtntku6XVG5mb0n6fHQZAAD0UUZvHZxzVT2s+twg1wIAQNpgJCwAADwggAEA8IAAjoOFCxdqwoQJKi4uVlVVlf72t791W79s2TJlZ2crEAgoEAjo8ccf91QpACBeCOAh1traqocffljhcFjbtm3T0aNHtXLlylP63XTTTWpsbFRjY6Pmzp3roVIAQDwRwHFw5MgR/fWvf9WRI0fU2dmpUaNG+S4JAOAZATzE8vLydM8996igoEC5ubkaPny4KioqTum3atUqTZw4UbNmzVJLS4uHSgEA8UQAD7EDBw5o9erV2r17t9ra2nTo0CE9+eST3fpcd911ampq0tatW1VeXq5bb721h08DAKQKAniIvfzyy7rkkkuUnZ2ts88+WzNmzNCrr77arc9FF12kc889V5I0d+5cbdmyxUepAIA4IoCHWEFBgTZt2qTOzk4557Ru3TqNGzeuW5/29vau+TVr1pyyHgCQenodCQsDM2XKFM2aNUulpaXKyMjQZZddpurqan3nO99RMBjU9ddfr4cfflhr1qxRRkaGsrKytGzZMt9lAwCGmEXeJhgfwWDQhcPhuO0vrurrpZoaqblZKiiQamulUMh3VQAAj8xsi3MuGGsdZ8CDob5eqq6WOjsjy3v2RJYlQhgAEBP3gAdDTc0/wve4zs5IOwAgae3cubNrlMJAIKDzzz9fixYt6tbnwQcf7FpfXFyss846S++9916vn80l6MEwbJgU6ziaSceOxb8eAMCgO3r0qPLy8vTaa69p9OjRMfs899xzWrhwodavXy/p9JegOQMeDAUF/WsHACSddevW6dJLL+0xfCVpxYoVqqrq6S2+3RHAg6G2VsrM7N6WmRlpBwCkhJUrV542XDs7O7V27VrNnDmzT59HAA+GUEiqq5NGj45cdh49OrLMA1gAkBIOHz6sNWvW6Itf/GKPfZ577jldeeWVysrK6tNn8hT0YAmFCFwASFEvvviiSktLNXLkyB779HaGfDLOgAEA6EVv93b/8pe/6Ne//rVuuOGGPn8mAQwAwGkcOnRIL730kmbMmNHVtnjxYi1evLhr+dlnn1VFRYU+/vGP9/lz+RoSAABDNJohI2EBANATT6MZcgkaAJDePI1mSAADANJbc3P/2gcJAQwASG+eRjMkgAEA6c3TaIYEMAAgvXkazZCnoAEA8DCaIWfAAAB4QAADAOABAQwAgAcEMAAAHhDAAAB4QAADAOABAQwAgAcEMAAAHhDAAAB4QAADAOABAQwAgAcEMAAAHhDAAAB4kJIBXFhYqJKSEgUCAQWDwR77/f73v1dGRoaefvrpOFYHAEAKv45ww4YNGjFiRI/rjx49qnvvvVcVFRVxrAoAgIiUPAPuix/96EeaOXOmcnJyfJcCAEhDKRnAZqaKigpNnjxZdXV1p6xvbW3Vs88+q69+9aseqgMAIEUvQW/cuFF5eXnq6OhQeXm5ioqKVFZW1rV+3rx5+uEPf6hhw1Ly7w8AQBJIyQDOy8uTJOXk5KiyslKbN2/uFsDhcFhf+tKXJEnvvvuuXnjhBWVkZOjGG2/0Ui8AIP2k3CngoUOHdPDgwa75hoYGFRcXd+uze/duNTU1qampSbNmzdJjjz1G+AIA4irlzoD37dunyspKSdKRI0f05S9/WdOmTdPixYslSXfccYfP8gAAkCSZcy5uOwsGgy4cDg/8g+rrpZoaqblZKiiQamulUGjgnwsAwCAysy3OuZgDUiTfGXB9vVRdLXV2Rpb37IksS4QwACBpJN894Jqaf4TvcZ2dkXYAAJJE8gVwc3P/2gEASEDJF8AFBf1rBwAgAQ0ogM2syczeNLNGMxuEp6v6oLZWyszs3paZGWkHACBJDMZDWFc7594dhM/pm+MPWvEUNAAgiSXfU9BSJGwJXABAEhvoPWAnqcHMtphZdawOZlZtZmEzC+/fv3+AuwMAIDUMNICvcs6VSrpG0tfMrOzkDs65Oudc0DkXzM7OHuDuAABIDQMKYOdca3TaIelZSZcPRlEAAKS6Mw5gM/u4mZ13fF5ShaRtg1UYAACpbCAPYY2U9KyZHf+c/+ucWzsoVQEAkOLOOICdc/8tadIg1gIAQNpIvpGwAABIAQQwAAAeEMAAAHhAAAMA4IE55+K3M7P9kvbEbYd+jJAUv7GxkxfHqW84Tr3jGPUNx6lvBvs4jXbOxRyFKq4BnA7MLOycC/quI9FxnPqG49Q7jlHfcJz6Jp7HiUvQAAB4QAADAOABATz46nwXkCQ4Tn3Dceodx6hvOE59E7fjxD1gAAA84AwYAAAPCGAAADwggAeJmV1sZhvMbLuZ/dHMvu67pkRlZmeZ2Rtm9rzvWhKVmV1gZk+b2f8zsx1mNtV3TYnIzOZHf9+2mdkKM/sn3zUlAjNbamYdZrbthLYsM3vJzN6KTi/0WWMi6OE4PRj9vdtqZs+a2QVDtX8CePAckXS3c268pCskfc3MxnuuKVF9XdIO30UkuIckrXXOFSny1jGO10nMLE/S/5EUdM4VSzpL0pf8VpUwlkmadlLbtyStc86NkbQuupzulunU4/SSpGLn3ERJuyT961DtnAAeJM65dufc69H5g4r8g5nnt6rEY2b5kjfAjVIAAAI6SURBVK6V9LjvWhKVmQ2XVCZpiSQ55w475973W1XCypD0MTPLkJQpqc1zPQnBOfeKpPdOar5B0vLo/HJJN8a1qAQU6zg55xqcc0eii5sk5Q/V/gngIWBmhZIuk/Sa30oS0iJJ35R0zHchCewSSfsl/SR6qf5xM/u476ISjXOuVdJ/SGqW1C7pL865Br9VJbSRzrn26Pw7kkb6LCZJzJH04lB9OAE8yMzsE5JWSZrnnPvAdz2JxMz+RVKHc26L71oSXIakUkk/ds5dJumQuFx4iug9zBsU+YNllKSPm9n/9FtVcnCR75/yHdTTMLMaRW4t1g/VPgjgQWRmZysSvvXOuWd815OArpR0vZk1SVop6bNm9qTfkhLSXkl7nXPHr6A8rUggo7vPS9rtnNvvnPtI0jOS/ofnmhLZPjPLlaTotMNzPQnLzGZL+hdJITeEg2UQwIPEzEyRe3Y7nHP/6bueROSc+1fnXL5zrlCRh2XWO+c4YzmJc+4dSS1m9qlo0+ckbfdYUqJqlnSFmWVGf/8+Jx5WO501km6Nzt8qabXHWhKWmU1T5DbZ9c65zqHcFwE8eK6UdLMiZ3WN0Z/pvotC0vrfkurNbKukgKT7PNeTcKJXCJ6W9LqkNxX594zhFiWZ2QpJv5P0KTPba2a3S7pfUrmZvaXI1YP7fdaYCHo4To9IOk/SS9F/xxcP2f4ZihIAgPjjDBgAAA8IYAAAPCCAAQDwgAAGAMADAhgAAA8IYAAAPCCAAQDw4P8DqsNkhIshIHQAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# sample code 5-2\n", "%matplotlib inline\n", "\n", "import matplotlib.pyplot as plt\n", "import matplotlib.transforms as mtransforms\n", "import numpy as np\n", "\n", "xs = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\n", "ys = [5.4, 8.5, 12.8, 15.1, 19.5, 23.2, 24.3, 29.1, 24.2, 17.5, 14.0, 7.7] \n", "\n", "fig, ax = plt.subplots(1, 1, figsize=(8, 6))\n", "\n", "# get the copy of 'offset' of the current 'Transform'\n", "trans_offset = mtransforms.offset_copy(\n", " ax.transData, # Transform of ax\n", " fig=fig, # Fugure in which ax is deployed\n", " x=0.05, # x offset\n", " y=0.03, # y offset\n", " units='inches' # unit of offset\n", ")\n", "\n", "for x, y in zip(xs, ys):\n", " ax.plot(x, y, 'ro') # red circle\n", " ax.text(\n", " x, \n", " y, \n", " f'{y:.1f}',\n", " transform=trans_offset, # changed offset\n", " horizontalalignment='left', # horizontal basepoint\n", " verticalalignment='bottom' # vertical basepoint\n", " )\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "id": "-yEAlDmdnbfa" }, "source": [ "## 5-3: Annotate the graph using annotate.\n", "\n", "Text with arrows can be drawn anywhere on the graph.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 374 }, "executionInfo": { "elapsed": 9, "status": "ok", "timestamp": 1648474880800, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "w7c6aOGCdxlp", "outputId": "6152b889-5810-4dbf-8082-ba9dafdb539a" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# sample code 5-3\n", "%matplotlib inline\n", "\n", "import matplotlib.pyplot as plt\n", "import matplotlib.transforms as mtransforms\n", "import numpy as np\n", "\n", "xs = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\n", "ys = [5.4, 8.5, 12.8, 15.1, 19.5, 23.2, 24.3, 29.1, 24.2, 17.5, 14.0, 7.7] \n", "\n", "fig, ax = plt.subplots(1, 1, figsize=(8, 6))\n", "\n", "ax.plot(xs, ys)\n", "\n", "arrow1 = {\n", " 'facecolor': 'red',\n", " 'width': 1,\n", " 'headwidth': 10,\n", " 'headlength': 15,\n", " 'linewidth': 1,\n", " 'edgecolor': 'black',\n", " 'shrink': 0.05\n", "}\n", "\n", "ax.annotate('max point', \n", " xy=(8, 29.1),\n", " xytext=(9, 29),\n", " arrowprops=arrow1,\n", " fontsize=16)\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "id": "2BJ_TwBEu0B1" }, "source": [ "## 5-4: Display annotations using arrow-shaped boxes, using Axes.text()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 383 }, "executionInfo": { "elapsed": 7, "status": "ok", "timestamp": 1648474880800, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "csKKLP0KopoR", "outputId": "6880aea8-3a8e-4354-828e-5719872bee3d" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# sample code 5-4\n", "%matplotlib inline\n", "\n", "import matplotlib.pyplot as plt\n", "import matplotlib.transforms as mtransforms\n", "import numpy as np\n", "\n", "xs = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\n", "ys = [5.4, 8.5, 12.8, 15.1, 19.5, 23.2, 24.3, 29.1, 24.2, 17.5, 14.0, 7.7] \n", "\n", "fig, ax = plt.subplots(1, 1, figsize=(8, 6))\n", "\n", "ax.plot(xs, ys)\n", "\n", "ax.text(\n", " 8.3, # left point of text\n", " 29.1, # baseline of text,\n", " 'max point',\n", " size=12,\n", " rotation=10,\n", " horizontalalignment='left',\n", " verticalalignment='bottom',\n", " bbox={\n", " 'boxstyle': 'larrow',\n", " 'facecolor': 'pink',\n", " 'edgecolor': 'red',\n", " 'linewidth': 1\n", " }\n", ")\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "id": "igylt5WH2NB8" }, "source": [ "## 5-5: Draw a formula\n", "\n", "The formula is written in the pair of '$' in the string following the letter 'r'." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "executionInfo": { "elapsed": 575, "status": "ok", "timestamp": 1648474881369, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "r6y7vH3ovTZ-", "outputId": "2e446607-0f5f-4ea5-b463-2a00f2d332b4" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# sample code 5-5-1\n", "# Greek letters\n", "%matplotlib inline\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "cs=[\n", " # 小文字\n", " r'$\\alpha$',\n", " r'$\\beta$',\n", " r'$\\chi$',\n", " r'$\\delta$',\n", " r'$\\digamma$',\n", " r'$\\epsilon$',\n", " r'$\\eta$',\n", " r'$\\gamma$',\n", " r'$\\iota$',\n", " r'$\\kappa$',\n", " r'$\\lambda$',\n", " r'$\\mu$',\n", " r'$\\nu$',\n", " r'$\\omega$',\n", " r'$\\phi$',\n", " r'$\\pi$',\n", " r'$\\psi$',\n", " r'$\\rho$',\n", " r'$\\sigma$',\n", " r'$\\tau$',\n", " r'$\\theta$',\n", " r'$\\upsilon$',\n", " r'$\\varepsilon$',\n", " r'$\\varkappa$',\n", " r'$\\varphi$',\n", " r'$\\varpi$',\n", " r'$\\varrho$',\n", " r'$\\varsigma$',\n", " r'$\\vartheta$',\n", " r'$\\xi$',\n", " r'$\\zeta$',\n", "# 大文字\n", " r'$\\Delta$', \n", " r'$\\Gamma$', \n", " r'$\\Lambda$', \n", " r'$\\Omega$', \n", " r'$\\Pi$', \n", " r'$\\Psi$', \n", " r'$\\Sigma$' \n", "]\n", "\n", "N = len(cs)\n", "H = 0.5 * N\n", "\n", "plt.rcParams['font.family'] = 'sans-serif'\n", "plt.rcParams['font.sans-serif'] = [ 'DejaVu Sans' ]\n", "plt.rcParams['mathtext.fontset'] = 'cm'\n", "\n", "fig, ax = plt.subplots(1, 1, figsize=(2, H))\n", "ax.set_xlim(0,2)\n", "ax.set_ylim(0, H)\n", "for i in range(N):\n", " y = H - 0.5 * (i + 1) + 0.1\n", " ax.text(0.2, y, cs[i], fontsize=20)\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 487 }, "executionInfo": { "elapsed": 5, "status": "ok", "timestamp": 1648474881370, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "ySFV9iPN3YBq", "outputId": "38d382b9-ae88-4de5-e8e7-d694185ff3e5" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# sample code 5-5-2\n", "# Accent sign\n", "%matplotlib inline\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "cs=[\n", " r'$\\acute{x}$', \n", " r'$\\bar{x}$', \n", " r'$\\breve{x}$', \n", " r'$\\ddot{x}$', \n", " r'$\\dot{x}$', \n", " r'$\\grave{x}$', \n", " r'$\\hat{x}$', \n", " r'$\\tilde{x}$', \n", " r'$\\vec{x}$', \n", " r'$\\overline{xyz}$' \n", "]\n", "\n", "N = len(cs)\n", "H = 0.5 * N\n", "\n", "plt.rcParams['font.family'] = 'sans-serif'\n", "plt.rcParams['font.sans-serif'] = [ 'DejaVu Sans' ]\n", "plt.rcParams['mathtext.fontset'] = 'cm'\n", "\n", "fig, ax = plt.subplots(1, 1, figsize=(2, 8))\n", "ax.set_xlim(0,2)\n", "ax.set_ylim(0, H)\n", "for i in range(N):\n", " y = H - 0.5 * (i + 1) + 0.1\n", " ax.text(0.2, y, cs[i], fontsize=20)\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 487 }, "executionInfo": { "elapsed": 534, "status": "ok", "timestamp": 1648474881900, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "zzCKcW5G58ig", "outputId": "1b4bab99-c298-4404-b2c5-6b35e211f119" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# sample code 5-5-3\n", "# Formula\n", "%matplotlib inline\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "cs=[\n", " r'$\\sqrt{2}$', \n", " r'$\\sqrt[3]{x}$', \n", " r'$\\frac{1}{2}-\\frac{1}{3}=\\frac{1}{6}$', \n", " r'$\\frac{3}{4} \\binom{3}{4}$', \n", " r'$\\frac{5 - \\frac{1}{x}}{4}$', \n", " r'$(\\frac{5 - \\frac{1}{x}}{4})$', \n", " r'$\\left(\\frac{5 - \\frac{1}{x}}{4}\\right)$', \n", " r'$\\alpha_i + \\beta^i$', \n", " r'$\\sum_{i=0}^\\infty x_i$'\n", "]\n", "\n", "N = len(cs)\n", "H = 0.5 * N\n", "\n", "plt.rcParams['font.family'] = 'sans-serif'\n", "plt.rcParams['font.sans-serif'] = [ 'DejaVu Sans' ]\n", "plt.rcParams['mathtext.fontset'] = 'cm'\n", "\n", "fig, ax = plt.subplots(1, 1, figsize=(2, 8))\n", "ax.set_xlim(0,2)\n", "ax.set_ylim(0, H)\n", "for i in range(N):\n", " y = H - 0.5 * (i + 1) + 0.2\n", " ax.text(0.2, y, cs[i], fontsize=20)\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "WGmnPp3k8E--" }, "outputs": [], "source": [] } ], "metadata": { "colab": { "authorship_tag": "ABX9TyMDdNXmF1DHzkVQNtnpigAx", "collapsed_sections": [], "name": "matplotlib_tutorial_05_en.ipynb", "provenance": [] }, "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" } }, "nbformat": 4, "nbformat_minor": 1 }