{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Ještě než začnene ujistěte se že víte, jak to funguje s \n", "[importem knihoven](http://hroch.spseol.cz/~nozka/python/matplotlib/#knihovnyazvislosti).\n", "\n", "Matplotlib -- základní myšlenky a postupy\n", "==========================================\n", "\n", "První zásadou, kterou si musíme osvojit je, že se vždy pracuje se seznamem (řadou) čísel. \n", "Pracuje se s datovým typem `numpy.array`." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 5 8 12 13 100 18 74]\n", "max: 100\n", "min: 5\n", "součet: 230\n", "dékla: 7\n" ] } ], "source": [ "a = array([5,8,12,13,100,18,74])\n", "print a\n", "print \"max:\", a.max()\n", "print \"min: \", a.min()\n", "print u\"součet:\", a.sum()\n", "print u'dékla:', a.size" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "linspace\n", "-----------\n", "vytvoří řadu čísel tak, aby jich byl **požadovaný počet**:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 2. , 2.375, 2.75 , 3.125, 3.5 , 3.875, 4.25 , 4.625, 5. ])" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "name": "stdout", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "linspace(2,5,9)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 0. , 1.66666667, 3.33333333, 5. ])" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "linspace(0,5,4)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 0. , 0.05263158, 0.10526316, 0.15789474, 0.21052632,\n", " 0.26315789, 0.31578947, 0.36842105, 0.42105263, 0.47368421,\n", " 0.52631579, 0.57894737, 0.63157895, 0.68421053, 0.73684211,\n", " 0.78947368, 0.84210526, 0.89473684, 0.94736842, 1. ])" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "linspace(0,1,20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "arange\n", "--------\n", "vytvoří řadu čísel, tak aby byl mezi nimi **požadovaný rozestup**. \n", "Zároveň se číslo, které je uvedeno jako horní mez v seznamu neoběví." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([0, 1, 2, 3, 4])" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arange(5)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([3, 4, 5, 6, 7, 8, 9])" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arange(3,10)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 10. , 10.2, 10.4, 10.6, 10.8, 11. , 11.2, 11.4, 11.6,\n", " 11.8, 12. , 12.2, 12.4, 12.6, 12.8, 13. , 13.2, 13.4,\n", " 13.6, 13.8, 14. , 14.2, 14.4, 14.6, 14.8, 15. , 15.2,\n", " 15.4, 15.6, 15.8, 16. , 16.2, 16.4, 16.6, 16.8, 17. ,\n", " 17.2, 17.4, 17.6, 17.8, 18. , 18.2, 18.4, 18.6, 18.8,\n", " 19. , 19.2, 19.4, 19.6, 19.8])" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arange(10,20,0.2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "zeros, ones\n", "-----\n", "vytvoří řadu nul nebo jedniček. Nezdá se to ale může to být někdy velice užitečné." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 0., 0., 0., 0., 0.])" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "zeros(5)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,\n", " 1., 1., 1., 1., 1., 1., 1.])" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ones(20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Nejen výřezy\n", "--------------\n", "\n", "S datovým typpem `numpy.array` lze pracovat jako \n", "s [klasickým python senzamem](http://geon.wz.cz/docs/node5.html#SECTION005140000000000000000), \n", "ale je možné provádět i mnohem \n", "[pokročilejší operace](http://wiki.scipy.org/Tentative_NumPy_Tutorial)." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]\n" ] } ], "source": [ "t=linspace(0,10,11)\n", "print t" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 1. 2. 3. 4.]\n" ] } ], "source": [ "print t[1:5]" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "10.0\n", "9.0\n", "8.0\n" ] } ], "source": [ "print t[-1]\n", "print t[-2]\n", "print t[-3]" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 5. 6. 7.]\n" ] } ], "source": [ "print t[5:-3]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ve výřezech lze prvky i přeskakovat:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24\n", " 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49\n", " 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74\n", " 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99]\n" ] } ], "source": [ "t=arange(0,100,1)\n", "print t" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 0 3 6 9 12 15 18]\n" ] } ], "source": [ "print t[0:20:3]" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 0 9 18 27 36 45 54 63 72 81 90 99]\n" ] } ], "source": [ "print t[::9]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Výřez je možné použít i k přiřazení:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 0 1 2 0 4 5 0 7 8 0 10 11 0 13 14 0 16 17 0 19 20 0 22 23 0\n", " 25 26 0 28 29 0 31 32 0 34 35 0 37 38 0 40 41 0 43 44 0 46 47 0 49\n", " 50 0 52 53 0 55 56 0 58 59 0 61 62 0 64 65 0 67 68 0 70 71 0 73 74\n", " 0 76 77 0 79 80 0 82 83 0 85 86 0 88 89 0 91 92 0 94 95 0 97 98 0]\n" ] } ], "source": [ "t[::3]=0\n", "print t" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 0 1 2 0 4 5 0 7 8 0 10 11 0 13 14 0 16 17 0 19 7 7 7 7 7\n", " 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7\n", " 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7\n", " 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7]\n" ] } ], "source": [ "t[20:]=7\n", "print t" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pokud vás to zajímá víc, podívejte se na knihovnu [numexpr](http://code.google.com/p/numexpr/).\n", "\n", "Matematické funkce\n", "---------------------\n", "\n", "To co bychom v čistém Pythonu museli zdlouhavě řešit podmíkami a vnořenými cykly je pro `numpy.array` hračka: \n", "Pokud provedeme nějakou matematickou operaci, provádí se vždy s dvěma prvky, které jsou v seznamech na stejné pozici. \n", "Například u sčítání se sečte první prvek s první, druhý s druhým, třetí s třetím atd." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 1. 2. 3. 4.]\n", "[ 9. 8. 7. 6.]\n", "[ 10. 10. 10. 10.]\n" ] } ], "source": [ "a=array([1.,2.,3.,4.])\n", "b=array([9.,8.,7.,6.])\n", "print a\n", "print b\n", "print a+b" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 9. 16. 21. 24.]\n", "[ 0.11111111 0.25 0.42857143 0.66666667]\n" ] } ], "source": [ "print a*b\n", "print a/b" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 1. 2. 3. 4.]\n", "[ 11. 12. 13. 14.]\n" ] } ], "source": [ "print a\n", "print a+10" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 9. 8. 7. 6.]\n", "[ 27. 24. 21. 18.]\n" ] } ], "source": [ "print b\n", "print b*3" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 1. 2. 3. 4.]\n", "[ 1. 4. 9. 16.]\n", "[ 1. 8. 27. 64.]\n" ] } ], "source": [ "print a\n", "print a**2\n", "print a**3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Fungují samozřejmě běžné matematické funkce: \n", "\n", "* `sin`\n", "* `cos`\n", "* `tan`\n", "* `log` -- přirozený logaritmus\n", "* `log10` -- dekadický logaritmus\n", "* `exp` -- exponencíální funkce\n", "\n", "Kreslení\n", "-------------\n", "\n", "Pokud mám řadu hodnot na ose x a řadu hodnot na ose y, můžu je vinést do souřadnicového systému.\n", "K tomuto účelu slouží funkce `plot()`." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nSUVORK5CYII=\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x=linspace(0.1,4,20)\n", "y=exp(x)/6.\n", "z=log(x)\n", "s=5*sin(x)\n", "plot(x,y, 'x-',x,z, 'x-', x,s,'x-')\n", "grid()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "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.5.3" } }, "nbformat": 4, "nbformat_minor": 0 }