{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## matplotlibのデコレータ" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Deprecationの警告を出さない方法" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "warnings.filterwarnings('ignore', category=DeprecationWarning, module='.*')" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/lib/sagemath/local/lib/python2.7/site-packages/ggplot/utils.py:81: FutureWarning: pandas.tslib is deprecated and will be removed in a future version.\n", "You can access Timestamp as pandas.Timestamp\n", " pd.tslib.Timestamp,\n", "/usr/lib/sagemath/local/lib/python2.7/site-packages/ggplot/stats/smoothers.py:4: FutureWarning: The pandas.lib module is deprecated and will be removed in a future version. These are private functions and can be accessed from pandas._libs.lib instead\n", " from pandas.lib import Timestamp\n", "/usr/lib/sagemath/local/lib/python2.7/site-packages/statsmodels/compat/pandas.py:56: FutureWarning: The pandas.core.datetools module is deprecated and will be removed in a future version. Please use the pandas.tseries module instead.\n", " from pandas.core import datetools\n", "/usr/lib/sagemath/local/lib/python2.7/site-packages/traitlets/traitlets.py:770: DeprecationWarning: A parent of InlineBackend._config_changed has adopted the new @observe(change) API\n", " clsname, change_or_name), DeprecationWarning)\n" ] } ], "source": [ "# python用のパッケージ\n", "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# 以下のメソッドを呼び出すだけで、手書き風のプロットになる\n", "# plt.xkcd()\n", "# 手書き風を限定したい場合" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/lib/sagemath/local/lib/python2.7/site-packages/matplotlib/font_manager.py:1288: UserWarning: findfont: Font family [u'Humor Sans', u'Comic Sans MS'] not found. Falling back to Bitstream Vera Sans\n", " (prop.get_family(), self.defaultFamily[fontext]))\n" ] }, { "data": { "image/png": "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\nVQAAAABJRU5ErkJggg==\n", "text/plain": [ "Graphics object consisting of 1 graphics primitive" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "with plt.xkcd():\n", " x = var('x')\n", " f = x^3 - x^2 - 2*x\n", " f_plt = plot(f, [x, -2.5, 2.5])\n", " show(f_plt, figsize=5) " ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "Graphics object consisting of 1 graphics primitive" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = var('x')\n", "f = x^3 - x^2 - 2*x\n", "f_plt = plot(f, [x, -2.5, 2.5])\n", "show(f_plt, figsize=5) " ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import seaborn as sns\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "# 久保本の3章のデータをネットから取り込む# 久保本の3 \n", "d = pd.read_csv('http://hosho.ees.hokudai.ac.jp/~kubo/stat/iwanamibook/fig/poisson/data3a.csv')\n", "type(d)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [], "source": [ "x = var('x')\n", "f = x^3 - x^2 - 2*x\n", "f_plt = plot(f, [x, -2.5, 2.5], figsize=5)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\ncmqSG2YLE35jdjs8e+60vuPbqSSvTPJvknw0yRWbXvv9vuLajSQ/tul2OvC5JK9K8mN9x7dTs9/O\nj8/uvynJI8C9SR5NcnC797ed9I97cUinqtaZJv6fS/IBliTpV9ULVfVB4CrgvUk+xPJtNvOVJFfN\n7n8pyZsAkrwW+F5/Ye3azcBDwCGm/wh/Msm/B+5jutbTMvivwDeBtao6vapOZzpc+E3gk71Gtju3\nMP07/AfAZUn+IMkJs9f+Zn9h7crTTDt0L94+z3Qo+v7Z/WXx9qp6enb/3wH/oKp+EngL8P5t311V\nrd2Yjnu/cdNz+4GPAN9vs65F3YC3Mx0H7z2WXcR8KvAfgf8F3Ms00T8C3MN0eKf3GHfRljOZDusA\nnAb8EnBB33HtIv6H53ltr92AQ5sevxf4DHA6cH/f8e2wDf8M+GPgrx/13P/uO6452vEQsH92/882\nvfbl7d7f9pj+2cDzVXXkGK9dWFWfaa0ybSvJKUyHc/YDT1TVRs8hjU6SO4G7gP/04uef5ADwTuAt\nVXVRj+HtWJLDwOuq6oWjnruS6RooJ1fVOb0FtwuzHPVBpotFvo/puaFlGvIkybuBnwduAP42087Q\nixMczq2qf/Sy728z6Uv6YUlexXT21KXAGbOnN4A7gBuq6pt9xbYbSf4tcGdV3bXp+YuB36uqv9ZP\nZPNJ8vNM/7eyWlUrfcezW0nWgH8CvJZpp+5x4FPAf6iXzucd+70mfakfSa6qqlv6jqOpZW3HbDrz\na6rqK8vahs120g6TvtSTJI9V1au3P3JvG0I7htAG2Fk7lm1WirRUkjyw1UvAgUXG0sQQ2jGENkDz\ndpj0pW4dYLqP9Oax+wCfXXw4cxtCO4bQBmjYDpO+1K3/xnR2y6HNLySZLD6cuQ2hHUNoAzRsh2P6\nkjQirrIpSSNi0pekETHpS9KImPQlaURM+pI0Iv8fRVA9xjZ9VyAAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "\n", "d.hist(column='y', by='f', sharex=True, layout=(2,1), bins=11)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "SageMath 7.5.1", "language": "", "name": "sagemath" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.13" } }, "nbformat": 4, "nbformat_minor": 0 }