{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Научная графика в Python\n", "\n", "Автор: Шабанов Павел Александрович\n", "\n", "E-mail: pa.shabanov@gmail.com\n", "\n", "URL: [Заметки по программированию в науках о Земле](http://progeoru.blogspot.ru/)\n", "\n", "Дата последнего обновления: 12.03.2017" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Преамбула\n", "%matplotlib inline\n", "\n", "import os\n", "import matplotlib.pyplot as plt\n", "from matplotlib import rcParams\n", "\n", "import numpy as np\n", "\n", "def save(name='', fmt='png'):\n", " pwd = os.getcwd()\n", " iPath = './pictures/{}'.format(fmt)\n", " if not os.path.exists(iPath):\n", " os.mkdir(iPath)\n", " os.chdir(iPath)\n", " plt.savefig('{}.{}'.format(name, fmt), fmt='png')\n", " os.chdir(pwd)\n", " #plt.close()\n", "\n", "rcParams['font.family'] = 'fantasy'\n", "rcParams['font.fantasy'] = 'Arial'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Глава 4 Цвета и цветовая палитра\n", "\n", "### Содержание главы\n", "\n", "1. Цвет как декортивный элемент;\n", "\n", "2. Способы задания цветов. RGB и HEX;\n", "\n", "3. Цветовая палитра colormap;\n", "\n", "4. Плавная цветовая палитра;\n", "\n", "5. Дискретная цветовая палитра.\n", "\n", "Цвет является одним из важнейших выразительных средств художника (а все мы являемся художниками, когда создаём рисунки). Чёрно-белая графика имеет свои эстетические достоинства и практическую выгоду (экономия краски при печати), но в ряде случаев без использования цвета не обойтись.\n", "\n", "Цвет может быть задан либо через пропорции трёх базовых цветов: красного, зелёного и синего. Такой способ носит название RGB. Другим стандартным методом является использование шестнадцатиричной кодировки (HEX), которая широко применяется в HTML. В не зависимости от способа задания цвета нужно понимать, какой цвет получается при той или иной комбинации. В этом могут помочь специальные редакторы, ссылки на которые расположены ниже.\n", "\n", "Многообразие сочетаний цветов порождает массу наборов цветов - цветовые палитры. Они нужны в качестве основы для отображения цветовых легенд или цветовых шкал, где каждому оттенку цвета шкалы сопоставляется какое-то значение. Также цветовые шкалы применяются там, где нужно динамически подбирать цвет, например, при создании цветных графиков временных рядов нескольких величин.\n", "\n", "### Электронные ресурсы:\n", "\n", "+ [Сокращения и условные обозначения цветов](http://matplotlib.org/examples/color/named_colors.html);\n", "\n", "+ [Цветовая палитра colormap](http://matplotlib.org/users/colormaps.html);\n", "\n", "+ [Предустановленные наборы цветовых палитр](http://matplotlib.org/examples/color/colormaps_reference.html);\n", "\n", "+ [Пример создания пользовательской цветовой палитры](http://matplotlib.org/examples/pylab_examples/custom_cmap.html);\n", "\n", "+ [Рецепты по созданию цветовой палитры от scipy cookbook](http://wiki.scipy.org/Cookbook/Matplotlib/Show_colormaps).\n", "\n", "Сторонние ресурсы для подбора цветовой палитры\n", "\n", "+ [Подбор цветов для цветовой палитры](http://colormap.org/);\n", "\n", "+ [Подобор цветов от Adobe Color CC](https://color.adobe.com/ru/create/color-wheel/);\n", "\n", "+ [Таблица безопасных цветов (RGB/HEX)от студии Артемия Лебедева](https://www.artlebedev.ru/tools/colors/);\n", "\n", "+ [О цветовых палитрах с сайта PYHOGS](http://pyhogs.github.io/colormap-examples.html)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.1 Цвет как декортивный элемент\n", "\n", "Цвет - это один из самых распространённых способ отобразить информацию. Во многом презентабельность и читаемость рисунка зависит от подобранных цветов. В научной графике, как правило, уделяется достаточно мало внимания подборке сочетания цветов, важна однозначность идентификации по цвету.\n", "\n", "Matplotlib предоставляет широкие возможности для работы с цветом. Существует ряд предустановленных цветов, которые имеют следующие аббревиатуры:\n", "\n", "+ **Красный** - 'red', 'r', (1.0, 0.0, 0.0);\n", "\n", "+ **Оранженвый** - 'orange';\n", "\n", "+ **Жёлтый** - 'yellow', 'y', (0.75, 0.75, 0);\n", "\n", "+ **Зелёный** - 'green', 'g', (0.0, 0.5, 0.0);\n", "\n", "+ **Голубой** - 'cyan', 'c', (0.0, 0.75, 0.75);\n", "\n", "+ **Синий** - 'blue', 'b', (0.0, 0.0, 1.0);\n", "\n", "+ **Фиолетовый** - 'magenta', 'm', (0.75, 0, 0.75);\n", "\n", "+ **Чёрный** - 'black', 'k', (0.0, 0.0, 0.0);\n", "\n", "+ **Белый** -'white', 'w', (1.0, 1.0, 1.0).\n", "\n", "Цветовую гамму можно разнообразить за счёт различной степени прозрачности параметра alpha. Но если нужно задать конкретно, скажем, алый цвет, то нужна пользовательская настройка. Matplotlib отображает цвет, заданный как в формате RGB, так и в HEX. Существуют [различные таблицы цветов](https://www.artlebedev.ru/tools/colors/), в которых представленным оттенкам соответствует код в RGB или HEX формате. Ими удобно пользоваться при составлении небольших пользовательских цветовых палитр." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.2 Способы задания цветов. RGB и HEX\n", "\n", "[Цвет в формате RGB](https://ru.wikipedia.org/wiki/RGB) представляет собой триплет или кортеж, состоящий из трёх целых значений от 0 до 255 для красного, зелёного и синего цветов. Различные сочетания этих трёх значений позволяет получить огромное количество оттенков и цветов.\n", "\n", "В matplotlib цвета rgb значения задаются в относительных единицах, в диапазоне от [0, 1]. Если необходимый цвет задан в диапазоне [0, 255], то нужно просто поделить их на 255.\n", "\n", "Цвет, представленный в формате HEX, передаётся в виде шестнадцатеричной html строки (символ # перед шестизначным значением обязателен)." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWsAAAD/CAYAAAA3xveZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnXd8VFXexp8z6Y0UIJUSkhB6LyEQSkSxoKCsYgMXlnV1\n3eK6Iq9l3RfbrmtZy7ura4FVEEWxgNhAYhJqQg2CBEiA0JIQQhrpycx5/0gGJ5DJtFvP/X0/Hz7M\nTO69z+/c3Pvk3mfOOZdxzkEQBEFoG5PaBRAEQRCOIbMmCILQAWTWBEEQOoDMmiAIQgeQWRMEQegA\nMmuCIAgd4N3VDxljPgCWA+gLwA/AswDyAbwHwALgIIDfcer/RxAEISuOrqzvBnCecz4FwHUA/g3g\nZQCPt3/GAMyWt0SCIAiCdXVRzBgLal+mljHWHcBOAL6c897tP58FYAbn/PeKVEsQBGFQuryy5pzX\ntRt1CIA1AP5y2Tq1AEJlrI8gCIKAE18wMsZ6A/gBwArO+Udoy6qthACokqk2giAIoh1HXzBGAdgI\n4AHOeWb7x/sYY1M559kArgeQYWdd+tKRIAjCRTjnrLPPHWXWrwG4DcARm48fBPA6AF8AhwDc21lv\nEMaYKp1Eli5diqVLlxpGV01tEdo8NT0FZjQ4tWzs4XQUlhYgbHwtmgOdu6H0QgCyM3M9KfESRvs9\ni3B8uQpjzK5Zd3llzTl/EG3mfDnTJKhLFoqKigylq6a2CG02owHLMlMdLldx2A8fT05GyagsTGxe\niDuzD8Pb3/HFyKL0HVKUCcB4v2cRji8poUExBOEE256Mw5jF59BjWAPCEpuw+ZFeapdEGIwur6z1\nyIIFCwylq6a2UdpcuisQxduDcN37J8B3DsCIkSfxwahB6H3VRfS/Rbnv1432ezbK8eUsXWbWHm1Y\npcyaIFwhLX24wxjk02v6I/nWSgy/r/zSZyW5gVg3Kwl37TyMbn2b7a67KH0Htmb+KFm9hNh0lVkL\nF4NkZWUZSldNbSO0+eSmENQU+WLIr9qMOjerGAAQk1KPMYvP4es7+8Hcokgphvs9G+H4cgXhzJog\npIJzYOvjcZj4TDG8fK78+diHz8EvzIztf41VvjjCcFAMQhiarmKQgs/DkPNMDObtyQezc1lTf94b\nH4wahBnLixA/4+IVP6cYhHAFQ8UgBCEFllZg2xOxSPv7WbtGDQCBPVtx3coT2LAgHnWlwn1fT2gI\n4cya8jVl2L/+JBZf9TIsZovjhWVA7jYfWtEdgVGtiL+2psPn1szalj7ptRh2bzm+ndcPFrN8NRnt\n2DbaOeUIuhQgLuHsaL7Q0oGIOpaKM16HcPPAe1DRy7nbfClH88lJayPDjqWxmPnxcbBOb0ivZMKT\nJVgzPRm7no9GyhOl8hZIGBLKrIlLONONbffLkdj3eiR+saEAYMDqSQMxb09+l93XrGgxv+2szXv+\nGYkz2SGYve6YS9u6eNYHq8YMwo1rjqPX5FoA2mwzoV0osyY8hnNgy2OxOPhuD9yx9QgiBjYhYkAT\nRv/pHDIe6ANR/i431Ziw6x/RmPTcWZfXDYlrwYxlRfj27n5ouOAlQ3WEkRHOrClfkx6LGfj+N31w\nKqMbbt9yBCG92zoW52YVY9ySc6g55YsjH4fLWsPlyNXmPS9HIf66GvQY2tjpzzvLrG1JmFmD5LkV\n2LAgXvI/YEY7tkU+p9xBOLMmpKW1keGruQmoKfLDbRlHEdCj4zdoXr4cM94tQvZDvdFQoe+ryfoy\nb+T9KxKpT3VtyI5I+1sx6st8sO+1SIkqIwjKrAkbLs9vmy+asO7mRPhHmHH9Byfg7Wf/9/nDH3uj\npdaEa5eftLuMFvNb2zZnPtg2OVP6a2c83m7VcV98NGEgDvb+Apv2bPJ4e4QxoMyacJn6895Yc1Uy\nwvs3Yebq410aNQCkPXcWpzJCcOqHEIUqlJbqIl/kf9Bdsp4cYQnNmP7vU+h1aAYaahx/+UoQjhDO\nrClf85yaUz74ePIAxF9bg+lvnoLJTrphm9/6hlgw/d+nsem+PmhpcLK/mwdI3eYdS2Mw4ndlCIxs\n7XI5R5m1Lcm3VaEu/AxW3bcFUtxlGu3YFumckgLhzJrwjAuH/PFx2kCMuP88Jj1b7HQ/YwBIuLEa\nkaPrkfN0jHwFykD5QX8UfRuKsQ+fk3zbpUlbUPxTJbYtO+J4YYLoAsqsiUtcM+YaDD17M6a8eAaD\n51e4tY26Um+sGD4Yt35fgJ4jOg6w0WpmPSt0HnpNuYgxfy6TfPuL0ndgzRvZeGnKejycdSNih0RI\nrkGIA2XWhEMOfX8GfQ7MxIx3T7pt1AAQFN2KtL+fxcZ7+8o69FoqAqqjUbY3ECMeOC+bRsygcMx5\nIQVvz81Ac33XMQtB2EM4s6Z8zXX2rDmO5fMycXrIt0i4sdrp9ezlt0N/dQE+QRbk/Z98Xdek2N+c\nc0QdT0Xq0mKnnqcIuJZZ2zJxQTJ6j+qOjx/c7tb6gPGObT2fU3IgnFkTrpH9n0P45E/b8eDGG1Af\nViLJNhkDrnn7JHKejUHNSV9JtikHP204A++WAAy+54LsWowx3P1mGo5ml2DX6kLZ9QjxoMzaoHDO\n8c1z+7D9v0fwp40z0TOxm1Nzg7hC7t+icXZrMG75uhCMaSuztlg4/jb2c2xr/gCvHpTvDuDyNp/a\nV47XZnyD/9kxG5FJobLpEvqEMmuiAxYLxycP7cDeNcexZOts9EzsJovO2EdKUXvGB0dWKzsU3Rn2\nrDkOk5cJF3u4NlmTp/QZ1QMz/zoa79yRgZYmHYT6hGYQzqwpX+sac4sF7/0yE6f2lOPh7JsQGhPo\ntq6j/NbLB7jmnZPI/nNvySc28mR/m1ss+PIvu3DL8+MBF7uEu5tZ25L++yGI6B2MLx51bbpYox3b\nejmnlEI4sybs01zfijdv2Yj6ymY8uOEGBIb5ya4Zk1KP5LkV2Ly4l+xazrJt+WF0jw/BoOlxqugz\nxnDPsinI+6II+9fbH55PELZQZm0Q6qua8K8bv0PPhG64Z9lUePlc+Xda6szaSvNFE94fOhgHwr/F\nhrxvJN++S7XUt+LJ/qvx27UzED8uUrY2W+kqpz+2vRRv3vI9Ht99CyJ6B8tWA6EfKLM2ONUl9Xhp\nynrEj+uJX743rVOjlhPfEAumv3EKMUemoblB3X7Gmf86iITUKMSPU39GvMSJ0bj6oWF4984MmFvV\neTwaoR+EM2vK1zpy/lgNXkhbh7F3JOK2f6bCZJJu3g5X8tuEmTVoDCnDV0/tkUTbnf1dV9mEjS/+\niNnPjnNbV4rM2pYZS0bAL8gH65c63i9GO7a1ek6phXBmTfzM6f0X8NKUL3HtkhG44fFRYK5M9CED\nJf23YPvyIzidV66K/sYX92PE7L6IHhimin5nmEwMC1dMw47/HkH+Js+nZiXEhTJrQSnYUoK3fvE9\n7vx3GsbcluDUOkrkt/+Y/wmy38zHozmzYfJS7lqhuqQeTw1dg7/k/aJDPqxmZm1LfsZZvHdPJp7Y\nOwfdotzvoUPoG8qsDcaPX53EW7/4Hos+vMppo1aKiQsHwD/EBz+8flBR3a+f2YuJCwdo9ou8QdPj\nkLpwAP57TxYsFrrIIa5EOLM2er62Y8VRrPz1Zvzuq+sw6Gp5u8u5k98yxnD3W5PxzXP7UF500W1t\nV/b3+WM12P3JMVz32Ei39axInVnbctPSMWiub8XGF/Z3+nOjHdtaOae0gnBmbWQ2vfIj1v1lF/6c\neSP6jVe/t4M9ovqH4pqHh+PD326VZFJ+R3z5192Y/uAwBHf3l13LE7y8TVj04VXY9MoBHNsuzRNr\nCHEQzqynTZtmKF0AmDp1KtY+sROb38rHkq2zETNImeHdKdNi3V53xuIRqC6uw66P3Bvu7ez+Pp1X\njsMZZzH9oWFu6VyOJ212hojewZj/zmQsu+sH1FV0fMK60Y5tNc8pNbXtIZxZGw2L2YJV92/BoY1n\n8ciWWYjoo81M9nK8fEyY984UrHl4B2ovNDpewU3WPrEL1z8xCv7BPrJpSM2IWfEYcXM8VizarMid\nB6EPhDNro+Vrny3JxfZd2/DnH2YipGeAotqe5rf9xkdi7O2J+PThHJfXdWZ/H91cgpJDVZj8m0Fu\nVNc5cmbWtsz5RwoqTtUi698/XfrMaMc2ZdYd8Va7AOJKpqanwIwGh8sxsxeSdyzEnuSVuHrWR05v\n3wsByM50bRIhuZj97Dg8PXQN8jedkfQLUc451j62E7OeHgMfP2knkVICHz8v3PvxdPwjdR0SJ0Wj\nz6geapdEqIxwZi1CvmZGg1N9f498Eo4Dfs1Y8v1kl7a/KH2Hu6V1QIr81j/YB3e+kYYP7tuC/z1w\nG3wDnTskHe3vA1+fQkNNM8bfleRxjbbInVnbEpkUittfn4h3bs/AE3tuEeLY1oOu2tr2EC4GMRKH\nVkQo8pQTuRl2Qx/0Gx+J9RINRbeYLfjisZ24+blxig68kYPxdyYheWoMPnxAmZ4zhHYR7so6KytL\nlb+KSuvWnfNG8dZgzFx9ArlZxYpe8VmRUnfuq6l4evhnGHdHolO3/F3t750fHYN/iC+G39RXktps\nkarNzkZdAMDM3ui/8278a+efERjr/IRPUsVdRjmntKJtD+HM2igcWR2BhFnV8A0WY7a2blGBuOX5\n8Vh572Y8mnMzvLzduyJubTbjyyd3Y8H701SfC6UrnI26rGxY2ITe4UNx1z+DnF5HqriL0Ab6vkfs\nBKPka4dWRGDw/LYIRI2rajl0Jy5IRkCor1ND0e3t7y1v5yNmUBiSp8RIWpsVtfZ1bFotws8PUUXb\nKOeUVrTtIZxZG4Hyn/xRV+qD3le5P1xbizDGMO+tyfj2b/tQfqLG5fUba1vwzXP7cPPf3J8CVavE\nTarF2a366ENPyINwZm2EPqH5K7tj0N0VMLX3SFOq7+/lyKEbmRSKGYtHYNX9XX+h1tn+/uG1Axgw\nLRa9R8rXzU2tfR0+oAnHK47h4hnlB/cY4ZzSkrY9hDNr0bGYgfxVYvQCscc1Dw9HzbkG5K4qdHqd\n2guN2PTKAcx6ZqyMlakHY0CPYQ0o3kZX10ZFOLMWPV87kxWCgB6t6DH05yHaomTWVrx8TJj/zmR8\ntjgHteWdD0W/fH9/93wextyWgMikUFlqsqLWvgaAKTdHqRKFiH5OaU3bHsKZtegcWin2VbWV+HGR\nGHdnItb82XGPhsoztdi+/AhmPjlagcrUIzaNcmsjI5xZi5yvtdSZcGxtGAbeWdHhc5Eya1tmPTMO\nBZtLcGjjlY+7st3fXz21F5N/Mwhhsc53a3MXtfY1AJy8WIiqQj801Sh72op8TmlR2x5O/dYZYymM\nscz216MYY2cYY5nt/+bKWyJhpXBtGGIm1iEoWt0nhCuFf7AP7nozDavu34KmupZOlyk9UoW8tUWY\nsWSEwtUpj8mHI3J0PUpy5P+jRGgPh2bNGFsC4B0Afu0fjQHwT855evu/T+Qs0FVEztds+1bbIlpm\nbcvQ6/ug34TIK57+bd3fXz65G9c8PBxB4X6drC09ambWKdNiEadCFCLyOaVFbXs4c2VdCGAOAOtw\nsDEAZjLGshlj7zLGKERTgNpiH5TuDELi7Cq1S1Gcua9ORM6KApza2/Gp6EW7z+PYtlJc9cehKlWm\nPHFptSim3NqQODRrzvnnAGzvu3MBLOacTwVwHMD/ylSbW4iarx3+MAJJt1TBJ/DKvseiZtZWukUG\nYM4/xmPFr7Nhbm0bXp+VlYW1j+/EDU+OdnqmPilQM7POzSpGTGodSncFwdx5KiQLop5TWtW2hztH\n+Rec8+r212sBvG5vwQULFiA+Ph4AEBYWhpEjR166vbDuDKnfW5Fr+/be5+XlSbo9qylYb7u/fbMC\no/5QBiC805+7+r4z/erKWlhxZnv5eeUu6dtu39X90dS3GCXsKDJePYAZi0fgu4+zcPYnC/7w9fVu\nbe/y48XZ/efu8pfrV1fWdpgUypX9HZrQhI3vXkDEoCbZ9rcW3ufl5ammL/X53NXxl5WVhaKiIjiC\nOTPtImMsHsBHnPNUxtgOAH/knO9ijP0BQBzn/NFO1uE0paN7pKUP7zDJz/n9AVg7KxG/PnEQTIKO\nAIvSd2Br5o8OdaXGnq6zlBVW4/kJa/HYzlvw7p0ZuPqhYRh3h2fzVavVZk90Mx7ojbD+TRjzUJlb\n2oR2YYyBc97pDGSunPpW570fwCvtvUNSATzrYX2EAw6tjMCgeRWSGLWeiUwKxYxHRuCVq76CudmC\nMXMT1S5JFai/tTFxKgbhnBcBmNj+ej+ANBlr8ogswebetbQCh1d1x22ZR+wuI8J81k7P72wxoW/1\nTTjqtRHfTX/K6e1LNbezWvvaVjsurRbZD/UG523D0OVGtHNK69r2oPmsNc6pjG4I7t2MiIFNapci\nK67N71yG3KxIl0xTpLmdu/VpgZcfR1WhH8L7i31cED8j3I21aH1CnXl0l8j9rLWmrZU2KxmFiHZO\naV3bHsKZtUg0XzThxNehGHhHheOFCUMRl1ZLM/AZDOHMWqQ+oQWfhaPX1FoE9DB3uZzo/ay1pK2V\nNiv5MAKRzik9aNtDOLMWiUMrIzCok+HlBNF9aAPqS71Rf56+djIKwpm1KPnaxdM+OJ8XiIQbqx0u\na/T81gi6l2ubvICY1DoUb5N/UidRzim9aNtDOLMWhfxVEeh/ayW8/WlgEdE5akzqRKiHcGYtRL7G\ngUMrujv9kAGj57dG0O1MW6keIUKcUzrStodwZi0C/rU9YW4yIXZindqlEBomelwdyg8EoKVegZEx\nhOoIZ9Yi5GthpQMxaP4Fp0enGT2/NYJuZ9o+gRw9hjWgdJe8ubUI55SetO0hnFnrHXOLBaFl/TFo\nHvWtJhxD81sbB+HMWu/52k8bTqM5oBrhSc4PI6b8Vnxde9pKfMmo93NKb9r2EM6s9U7OygJURR1W\nuwxCJ8ROqkPJjiBYuh43RQiAcGat53ytvqoJP313GjWRhS6tR/mt+Lr2tAN7tiIwqhUXDgbIpqvn\nc0qP2vYQzqz1zN5PT2DQ1XEw+9BMaoTzxKbV4izNEyI8wpm1nvO1HSuOYsI9yS6vR/mt+Lpdacud\nW+v5nNKjtj2EM2u9Un6iBqX5VRh6fW+1SyF0BvUIMQbCmbVe87XcDwox9vYEePt6ubwu5bfi63al\nHZbUBHMTQ80pH1l09XpO6VXbHsKZtR7hnCNnZQEmzHc9AiEIxui5jEZAOLPWY752IrcMjAHx43u6\ntT7lt+LrOtKOmyTfwwj0eE7pWdsewpm1HslZWYCU+f3BlHj6KSEkdGUtPsKZtd7ytdZmM3Z/fAwp\n8/q7rU35rfi6jrQjR9Wj+rgfGqtc/87DEXo7p/SubQ/hzFpvHPzmNGKHRKBHfIjapRA6xsunbRa+\nkh3yP4yAUAfhzFpv+Vpb32r3r6oBym+NoOuMtlxRiN7OKb1r20M4s9YTdRWNOJxxFmNuTVC7FEIA\n4ibVUW4tMMKZtZ7ytd0fH8fQ63sjINTXI23Kb8XXdUY7JrUWZXsCYW6W9otqPZ1TImjbQziz1hPU\nt5qQEr9uFoT1b8K5vYFql0LIgHBmrZd87VxBNc4fq8HgGb081qb8VnxdZ7XlGHqul3NKFG17CGfW\neiH3gwKMuzMRXj70KyCkg554Li7COYUe8jWLhSNnRQFS3ZhhrzMovxVf11nt2EltZs25dLp6OKdE\n0raHcGatB45tK4VvoDd6j+qudimEYIT0aoFvsBmVR/zULoWQGOHMWg/5Ws7KAky4R7rh5ZTfiq/r\nirbUDyPQwzklkrY9hDNrrdPS2Iq9n55Ayt1JapdCCArNby0mwpm11vO1H9efQp/RPRDeS7qTifJb\n8XVd0Zb6S0atn1OiadtDOLPWOlIMLyeIrug+uBENF7zh3UT9rUVCOLPWcr5WU9aAwi2lGDWnn6Ta\nlN+Kr+uKNjMBsal1CKiJkURXy+eUiNr2EM6stczu1ccw/KY+8A+W5/FLBGElLq0WQdXSmDWhDYQz\nay3na3INL6f8VnxdV7Vj02oRIJFZa/mcElHbHsKZtVYpya9EdXEdBk5X72QnjEP0uDr410Wgqa5F\n7VIIiRDOrLWar+WsLMC4u5Jg8pJ+l1N+K76uq9re/hyNweU4kVvmsa5WzylRte0hnFlrEYuFI/cD\n6YaXE4Qz1IcWo3BrqdplEBIhnFlrMV8ryC5BUIQ/4oZFyKJN+a34uu5o14eWSGLWWjynRNa2h3Bm\nrUWobzWhBvXdSnEitwzmVovapRASIJRZtzabkZmZqYq2vYyrub4V+9cWYfyd8g0vp/xWfF13tM2+\njQiPC8LZAxUe6VJmrQ2EMuvvX/4Rnz2Sg3NHq9Qu5RJ5a4vQb0IUQmNoNBmhPIlp0ZRbC4K32gU4\nYmp6CsxocG5hiwndq4bj8SHvozL2IM733QPu1drlKl4IQHZmrsd12su42vpWyxuBUH4rvq672klp\n0Tjw9Slc9YehbutSZq0NNG/WZjRgWWaqS+tcPFuAzQ8noiR3ONJfO43EWdV2l12UvsPTEu1SXVKP\nEznncP9n18imQRBdkTQpGmsf2wnOuWRT8hLqIFQMArTleiFxLZi5+gSueeckNi/phbU3JaLquGdP\nEHdEZxnXzo8KMeLmePgGyvs3kfJb8XXd1e6REAKLheNC0UW3dSmz1gZOmTVjLIUxltn+OokxtpUx\ntpkx9gbT8J/rvldfxPz9hxA7sQ4fjhuEnGei0dqoXLlSPrqLINyBMYaktGgUbjundimEhzg0a8bY\nEgDvALA+J+ifAB7nnE8BwADMlq8817k81/P24xj/WCnm7c3Hub2BWDFsMIo2dJNc9/KM68yPF1BX\n0Yj+U+WfTIfyW/F1PdFOSovGMQ++ZKTMWhs4c2VdCGAO2owZAEZzzje3v/4WwNVyFCY13fo2Y/YX\nxzHt1dPIeKAP1t+agIun5Zv9LmdlAVLm9YfJpNkbD8IgJFGPECFwaNac888B2HapsHWfWgChUhfl\nCY5yvYSZNbjn4E/oPrQBK0cNRvdTo9DabPZY1zbjspgt2LmqUPZeIFYovxVf1xPtXiO6o+JULeoq\nGt1anzJrbeDON1+2w6FCANjt1LxgwQLEx8cDAMLCwjBy5MhLtxfWneHovRXrgWq9FbT33pnlfQI4\nvKbtwYD+Pjj/x0F4duRnSPiNCX1G9nC5Puv7vLy8S+8PZxSjIuQEjpzbj5hB7m3P2fa6+74z/erK\nWqf2n/V9fl65S/q2279cv7qyFrlZxU5vLz+v3KX2VlfWIisrS5Hjq7PlPW2vJ/vby9uE1v6lWP3W\nWix67I5O69Hi+7y8PNX0bc9nOfWsr4uKiuAIxjl3vBBj8QA+4pynMsa+BPAy5zybMfYfABmc8zWd\nrMOd2bYj0tKHu9x1zxUWTduB1/+4Dp/8aTv6T47BrS9N8HgAy/L5PyB+XCSu+qN7fVtlb3P6DmzN\n/FEzumpqi6p7ufb6pbvR0mjGnOdTZNUkPIMxBs55p9mpK133rM77MICnGGPb0XZl/qmH9akLA0bP\n6Yen8ucivHcQnhq2BhmvHXB7PoXG2hb8uP4Uxt6RKHGhBOE+SWnROEY9QnSNU2bNOS/inE9sf13A\nOZ/GOZ/IOf+1JJfPEuJurucX5IM5z6fgkS2zsP/Lk/jb2C9wbLvzX8pYb2v2fX4CSZOj0S0ywK06\n3IHyW/F1PdXulxKJ0/vK0dLY9YjezqDMWhsINyjGU2IGheOhTTNx3aMj8PZtm/D+r7Jw8byTw91B\nfasJbeIf4ouogWE4uadc7VIINxHOrKXoB8sYw7g7krA0fy4CQn3x1JA1yP7PIVjM9qORadOmofJM\nLU7tLcfwm/p4XIMrUJ9j8XWl0E6a5F4XPupnrQ2EM2spCejmi7mvTMSfNs1E7gcFeH7COhTtPm93\n+dxVhRh9az/4+Gt+yhXCgFB/a30jnFnLkSn2Gt4dizfPwrTfDca/b/wOq3675Yo+q5mZmchZIf8M\ne51B+a34ulJoJ06KwvHt52CxuPY1E2XW2kA4s5YLk4lh4oIBWJo/F4wxLB28Btv+e+TSgV9WUIOW\nhlYkTopWuVKC6Jyw2CAEhPmi9LB25nsnnEc4s5Y7UwwK98Ndb6Thd19dh81vHsJLU77E6f0XwPJ7\nqja8nPJb8XWl0nYnCqHMWhsIZ9ZKET+2J/5nx2xMmN8fr13zNba8fRgpKkQgBOEKiZM8m9SJUA/h\nvgmzHcLrCa48ocarvz8az/jjF7951SUNqZ5SI1Wb9aKrprbe25yUFo0Nz+e5tI7tMH0lUUtXbW17\nCGfWUuHqE2raTqRBLmnI+ZQaguiM6IFhaKhuRlVxHcJig9Quh3AB4WIQyjLF11VTW+9tNpkYEidF\nuTT0nDJrbSCcWRME0TXU31qfCGfW1P9WfF01tUVos6tmTf2stYFwZk0QRNf0GdMTpYer0HixWe1S\nCBcQzqwpyxRfV01tEdrs4+eFPqN74HhOmVPLU2atDYQza4IgHEO5tf4QzqwpyxRfV01tUdrsysMI\nKLPWBsKZNUEQjkmYGIUTuWUwt7j3RCRCeYQza8oyxddVU1uUNgeF+6F732Cc3n/B4bKUWWsD4cya\nIAjnoNxaXwhn1pRliq+rprZIbU5Mc25SJ8qstYFwZk0QhHMkpUWjcFspNPbMa8IOwpk1ZZni66qp\nLVKbu/cNhsnLhPLjF7tcjjJrbSCcWRME4RyMMSSlRVFurROEM2vKMsXXVVNbtDYnOvHEc8qstYFw\nZk0QhPNQjxD9IJxZU5Ypvq6a2qK1OW5YBKqK61Bb3mh3GcqstYFwZk0QhPN4eZuQMCEKx7bT1bXW\nEc6sKcsUX1dNbRHb7CgKocxaGwhn1gRBuEbipCgUbnX+MV+EOghn1pRliq+rpraIbe6XEokz+y+g\nuaG1059TZq0NhDNrgiBcwy/IB7FDwlG067zapRBdIJxZU5Ypvq6a2qK2ObGL3Joya20gnFkTBOE6\nbQ8joB4hWkY4s6YsU3xdNbVFbXPSpCgc334OFsuVkzpRZq0NhDNrgiBcp1tUIIJ7+KPkp0q1SyHs\nIJxZU5ZrQFQSAAAM7ElEQVQpvq6a2iK32V5uTZm1NhDOrAmCcA+aJ0TbCGfWlGWKr6umtshttvcl\nI2XW2kA4syYIwj2ikkPRVNeKitO1apdCdIJwZk1Zpvi6amqL3GbGGBInRV1xdU2ZtTYQzqwJgnAf\nyq21i3BmTVmm+Lpqaove5jaz7jipE2XW2kA4syYIwn36jO6B84XVaKhuVrsU4jKEM2vKMsXXVVNb\n9DZ7+3qh79ieOJ7z89U1ZdbaQDizJgjCM7qa1IlQD+HMmrJM8XXV1DZCm5MmRXUwa8qstYFwZk0Q\nhGckpEbh5K7zaG02q10KYYNwZk1Zpvi6amoboc2BYX7omdgNp/ddAECZtVZw26wZY3sZY5nt/5ZJ\nWRRBEOpCubX2cMusGWP+AMA5T2//t0jastyHskzxddXUNkqbk9KiUdg+kpEya23g7pX1CACBjLEN\njLEMxliKlEURBKEuSZOicWxrKTi/8mEEhDq4a9Z1AF7knF8L4H4Aqxhjmsi/KcsUX1dNbaO0OaJP\nMLz9vVBWUE2ZtUbwdnO9owAKAYBzXsAYuwAgBsBZ24UWLFiA+Ph4AEBYWBhGjhx56fbCujMcvbdi\nPVCtt4L23ru7/OX61ZW1yM0qdri+9X1+XrlTerbvqyt/nt3scn1n63f3fWf727YeZ7aXn1cuWXvl\n3t/VlbXIysrS7fEl9f525r25f2lbbp3g3vqevs/Ly1NUz/Z9Xl6eInrW10VFRXAEc+c2hzF2H4Dh\nnPPfMcZiAWQAGMI5t9gsw6W4hUpLH45lmakeb8cei9J3YGvmj4rrqqmtNV01tUXV7UrbWbLe+Akn\nd5/HL5dPk64ooksYY+Ccs85+5m50sQxAN8bYZgCrASy0NWqCIPRPZ5M6Eerhlllzzls55/M551Pa\n/+VIXZi7UJYpvq6a2kZqc+yQcFwsa8DXX2xQVNcKZdYd0cSXggRBaA+TlwkJqVEoPlihdikEBDRr\n6n8rvq6a2kZr84D0GNRmd0NzQ6vi2tTPuiPu9gYhCEKnTE1PgRkNTi3LLCbEHp6OPTG7cGroV7D4\nOJ7n2gsByM7M9bRM4jKEM2vb7lBG0FVTm9qsT20zGlzqiZL7w1HUrxuP01nzMOe7AgTHdH2VvSh9\nh6clAkCHrpZKo6a2PYSLQQiCkBgTMO3VM0i+rRIfTxqIykI/tSsyJMKZNWWZ4uuqqW3UNjMGTPhL\nKcb9Tyk+mZKMsrwA2XUps+6IcGZNEIR8DL+vHOmvn8ZnM/rjdHaw2uUYCuHMmvrfiq+rpja1GUi+\ntQozPzqBr25LQOG6UNl0qZ91R4Qza4Ig5KfP9Iu45ZtCZNzfFweXd1e7HEMgnFlTlim+rpra1Oaf\niR5bj7nZR5DzdAx2vRAluS5l1h0RzqwJglCO8OQm3L7tCA693x3Zj8SBZgiSD+HMWiu5nhG0qc3G\n0HakGxLXgrlbjqB4WzA2/KovYJHGViiz7ohwZk0QhPIERJhx6/cFqC/zQZ+frldleLroCGfWWsv1\nRNamNhtD21ldnyALZq8rhNmrGa/N+Ab1VU0e6VJm3RHhzJogCPXw8gHODvoefUb3wEtT1qO6pF7t\nkoRBOLPWaq4noja12RjaLusyYO6rqRh7ewJeSFuHssJqt3Qps+6IcGZNEIT6MMZwwxOjce2SEXhp\nynqc2leudkm6Rziz1nquJ5I2tdkY2p7oTrlvMG5/fSJev/YbHM127QqdMuuOCGfWBEFoizG3JuDX\nq6fj7ds2IW9tkdrl6BbhzFo3uZ4A2tRmY2hLoTvwqjj8/pvrseq3W7Bt+WGn1qHMuiPCmTVBENok\nfmxPLM6+CV8/sw8bXsgD51ztknSFcGatx1xPr9rUZmNoS6kblRyGR7bOQs6KAnz2SC4sFvuGTZl1\nR4Qza4IgtE14XBAWb74Jx7afw4pfZcPcQhOKOINwZq3nXE9v2tRmY2jLoRsU4Y8/fX8DLpY14M05\nG9Fcf+XwdMqsOyKcWRMEoQ/8gnzwwLprERDqi9eu9Xx4uugIZ9Yi5Hp60aY2G0NbTl0vHxMWrkhH\nnzFXDk9XMje2mC2oPFuHE7ll2Pv5CQyMHqmYtrN4q10AQRDGxmRimPtKKr79ex5eSFuHBzfcgMgk\n6R4X1tpsxnVTZsDU5A3vpmD4NAfBpym47XVTMHyaguDVHAizTyNafevQ4leLirgDqIs47bSGFwKQ\nnZkrWc2dIZxZ52YVq3IFopaumtrUZmNoK6HLGMMNj49CcA9/vDRlPX7/9XU4Xn3Q4dV1c30rKs/W\noepMHSrP1KLyTB2qztah8kzbv6ozdairaEJv0w3oO5ohpH8zguNaENyrGSG9WhDcqwohvc4jKKYF\nXr4/90zJzTIhZVqq0/UvSt/hbtOdRjizJghCv0z5zSAEd/fD69d+gyGL/ZEcWdnBiK0GbDXkprpW\nhMUFIrxXMMJ7BSGsVxCiksMw4Ko4hPcKQnivIHSLCsCUq0fi0UznzVeLCGfWIuZ6WtWmNhtDWyrd\nqekpMKPBqWWDYuNQ8derkb30bbT41aLFrxat7f+3+NW1vR5YC7NPI8DaVyoGvIqliSPU/D3bQziz\nJghCm5jRgGUuXd0evey9CUC39n+do0QcoRbC9QYRqS+q1rWpzcbQNpqu2tr2EM6sCYIgREQ4s9Z7\nrqcnbWqzMbSNpqu2tj2EM2uCIAgREc6sKV8TX1dNbWqz+Lpqa9tDOLMmCIIQEeHMmvI18XXV1KY2\ni6+rtrY9hDNrgiAIERHOrClfE19XTW1qs/i6amvbQzizJgiCEBHhzJryNfF11dSmNouvq7a2PYQz\na4IgCBERzqwpXxNfV01tarP4umpr20M4syYIghAR4cya8jXxddXUpjaLr6u2tj2EM2uCIAgRccus\nGWMmxth/GGPbGWOZjLFEqQtzF8rXxNdVU5vaLL6u2tr2cPfK+mYAvpzziQAeBfCydCV5Rn5euaF0\n1dSmNhtD22i6amvbw12zngTgOwDgnOcCGCtZRR5ysarZULpqalObjaFtNF21te3hrll3A1Bj897M\nGKP8myAIQibcNdgaACG22+GcWySox2POFl00lK6a2tRmY2gbTVdtbXswzrnrKzE2B8BNnPOFjLEJ\nAJ7knM+8bBnXN0wQBGFwOOess8/dNWsG4A0Aw9s/Wsg5v/y58QRBEIREuGXWBEEQhLLQl4IEQRA6\nQDizZoylMMYyFdTzYYytZIxtZozlMsZuUlDbizG2nDG2lTG2hTE2RCntdv1Ixthpxliygpp72wdi\nZTLGliml2679WPtAsF2MsV8qpPlLm/bmMMYaGGPdFNI22RxfmxljAxTS9WWMrWjf19mMsREKaF7y\nDcZYkk2b32iPfVVHKLNmjC0B8A4APwVl7wZwnnM+BcB1AP6loPaNACyc8zQAfwHwnFLCjDEfAG8B\nqFNQ0x8AOOfp7f8WKag9DUBq+0CwaQASlNDlnL9vbS+A3QD+wDmvcbSeRMwAENR+fD0N5Y6vewHU\nt+/rewEsl1OsE9/4J4DH289pBmC2nPrOIpRZAygEMAdtO1gp1gD4a/trE4BWpYQ55+sA3Nf+Nh5A\npVLaAF4E8CaAEgU1RwAIZIxtYIxlMMZSFNSeAeAAY2wtgPUAvlRQG4yxsQCGcM7fVVC2AUBo+5Vl\nKAClRooMxs+D7o4CiJP5buJy3xjNOd/c/vpbAFfLqO00Qpk15/xzKGiW7Zp1nPNaxlgI2oz7CYX1\nzYyx9wC8DuBDJTQZYwvQdjex0fqRErpou4p/kXN+LYD7AaxScDBWTwBjANxq1VZI18rjAJYqrLkN\ngD+Aw2i7i/o/hXTz0HbXiPauwT0BBMkl1olv2B7PtWj7Q6U6Qpm1WjDGegP4AcAKzvlqpfU55wsA\nJAN4hzEWoIDkQgDXtGd8IwG8zxiLUkD3KNpNknNeAOACgBgFdAGgHMBGznlr+9VeI2OshxLCjLEw\nAMmc82wl9GxYAmAb53wAfv49+yqguxxADWNsC9rmIToKoEIBXSu2A/xCAFQpqG0XMmsPaTepjQCW\ncM7fU1h7PmPssfa3DWg7yGQfSco5n8o5n9aeo+YBuIdzfk5uXbT9kXgZABhjsWib9kCpGGYr2r6T\nsGoHoe2PhRJMAZChkJYtQfh5WolKAD4AvBTQHQ/gB875ZACfAijhnDcpoGtlH2Nsavvr6wFs7mph\npfBWuwCZULLz+ONou036K2PMml1fzzlvVED7UwDvMcay0XYiPajwQa00ywD8lzFmPXkWKjXNAef8\na8bYFMbYTrRd5DzAlRukkAzgmEJatryItv29BW3H12Oc8wYFdI8A+Jgx9jiARrR9yagE1t/nw2i7\nS/UFcAht55nq0KAYgiAIHUAxCEEQhA4gsyYIgtABZNYEQRA6gMyaIAhCB5BZEwRB6AAya4IgCB1A\nZk0QBKEDyKwJgiB0wP8D9btXWGNmxDYAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Пример 4.2\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "fig = plt.figure()\n", "ax = fig.add_subplot(111) # добавление области рисования ax\n", "\n", "N = 10\n", "x = np.arange(1, N+1, 1)\n", "y = 20.*np.random.rand(N)\n", "\n", "rgb = np.array([204,255,51])/255.\n", "myhex = '#660099'\n", "\n", "ax.plot(x, y, color=myhex)\n", "ax.bar(x, y, color=rgb, alpha=0.75, align='center')\n", "\n", "ax.set_xticks(x) # установка делений на оси OX\n", "ax.set_xlim(np.min(x)-1, np.max(x)+1) # ограничение области изменения по оси OX\n", "ax.grid(True)\n", "\n", "save('pic_4_2', fmt='png')\n", "save('pic_4_2', fmt='pdf')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.3 Цветовая палитра colormap\n", "\n", "Последовательность или набор цветов образует цветовую палитру colormap. Чаще всего она используется при отрисовке трёхмерных данных. Но и автоматический подбор цветов при добавлении каждого нового экземпляра plot также осуществляется из цветовой палитры по умолчанию.\n", "\n", "Для получения текущей цветовой палитры можно воспользоваться методом `plt.get_cmap('название палитры')`. Список всех предустановленных палитр можно получить с помощью метода plt.cm.datad. В настройках matplotlibrc можно также изменить цветовую палитру с помощью параметра `image.cmap`. В интерактивном режиме её можно поменять через `plt.rcParams['image.cmap']='имя_палитры'` или через `plt.set_cmap('имя_палитры')`. Последний позволяет изменить палитру текущего рисунка уже после вызова графических команд." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(u'\\u041f\\u0440\\u0435\\u0434\\u0443\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u043d\\u044b\\u0435 \\u0446\\u0432\\u0435\\u0442\\u043e\\u0432\\u044b\\u0435 \\u043f\\u0430\\u043b\\u0438\\u0442\\u0440\\u044b:', [u'Spectral', u'summer', u'coolwarm', u'Wistia_r', u'pink_r', u'Set1', u'Set2', u'Set3', u'brg_r', u'Dark2', u'hot', u'PuOr_r', u'afmhot_r', u'terrain_r', u'PuBuGn_r', u'RdPu', u'gist_ncar_r', u'gist_yarg_r', u'Dark2_r', u'YlGnBu', u'RdYlBu', u'hot_r', u'gist_rainbow_r', u'gist_stern', u'gnuplot_r', u'cool_r', u'cool', u'gray', u'copper_r', u'Greens_r', u'GnBu', u'gist_ncar', u'spring_r', u'gist_rainbow', u'RdYlBu_r', u'gist_heat_r', u'Wistia', u'OrRd_r', u'CMRmap', u'bone', u'gist_stern_r', u'RdYlGn', u'Pastel2_r', u'spring', u'terrain', u'YlOrRd_r', u'Set2_r', u'winter_r', u'PuBu', u'RdGy_r', u'spectral', u'flag_r', u'jet_r', u'RdPu_r', u'Purples_r', u'gist_yarg', u'BuGn', u'Paired_r', u'hsv_r', u'bwr', u'cubehelix', u'YlOrRd', u'Greens', u'PRGn', u'gist_heat', u'spectral_r', u'Paired', u'hsv', u'Oranges_r', u'prism_r', u'Pastel2', u'Pastel1_r', u'Pastel1', u'gray_r', u'PuRd_r', u'Spectral_r', u'gnuplot2_r', u'BuPu', u'YlGnBu_r', u'copper', u'gist_earth_r', u'Set3_r', u'OrRd', u'PuBu_r', u'ocean_r', u'brg', u'gnuplot2', u'jet', u'bone_r', u'gist_earth', u'Oranges', u'RdYlGn_r', u'PiYG', u'CMRmap_r', u'YlGn', u'binary_r', u'gist_gray_r', u'Accent', u'BuPu_r', u'gist_gray', u'flag', u'seismic_r', u'RdBu_r', u'BrBG', u'Reds', u'BuGn_r', u'summer_r', u'GnBu_r', u'BrBG_r', u'Reds_r', u'RdGy', u'PuRd', u'Accent_r', u'Blues', u'Greys', u'autumn', u'cubehelix_r', u'nipy_spectral_r', u'PRGn_r', u'Greys_r', u'pink', u'binary', u'winter', u'gnuplot', u'RdBu', u'prism', u'YlOrBr', u'coolwarm_r', u'rainbow_r', u'rainbow', u'PiYG_r', u'YlGn_r', u'Blues_r', u'YlOrBr_r', u'seismic', u'Purples', u'bwr_r', u'autumn_r', u'ocean', u'Set1_r', u'PuOr', u'PuBuGn', u'nipy_spectral', u'afmhot'])\n" ] }, { "data": { "image/png": "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\nDfkHwmaNSawNbskAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Пример 4.3\n", "\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "dat = np.random.random(200).reshape(20,10) # создаём матрицу значений\n", "\n", "# Создаём список цветовых палитр из словаря\n", "maps = [m for m in plt.cm.datad]\n", "# или так\n", "maps = []\n", "\n", "for i, m in enumerate(plt.cm.datad):\n", " maps.append(m)\n", "# print('%d - %s' % (i, m))\n", "\n", "print(u'Предустановленные цветовые палитры:', maps)\n", "\n", "fig, axes= plt.subplots(nrows=2, ncols=2, sharex=True, sharey=True)\n", "\n", "cmaplist = plt.cm.datad\n", "\n", "for ax in fig.axes:\n", " random_cmap = np.random.choice(maps)\n", " cf = ax.contourf(dat, cmap=plt.get_cmap(random_cmap))\n", " ax.set_title('%s colormap' % random_cmap)\n", " fig.colorbar(cf, ax=ax)\n", " \n", "plt.suptitle(u'Различные цветовые палитры') # единый заголовок рисунка\n", "\n", "save('pic_4_3', fmt='png')\n", "save('pic_4_3', fmt='pdf')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Всё многообразие цветовых палитр можно разбить на два типа:\n", "\n", "+ плавная палитра LinearSegmentedColormap \n", "\n", "+ дискретная палитра ListedColormap. \n", "\n", "Первая используется для создания всех встроенных экземпляров colormap, а также очень полезна при создании пользовательских цветовых шкал. Вторая используется для создания пользовательской цветовой палитры colormap из заданного списка цветов.\n", "\n", "### 4.4 Плавная цветовая палитра\n", "\n", "Плавная цветовая палитра представляет собой результат линейной интерполяции между последовательностью цветов, составляющих основу палитры. \n", "\n", "Различные методы отображения трёхмерных данных (разные графические команды) по умолчанию используют разные типы цветовых палитр. Так методы `plt.imshow()` и `plt.pcolor()` будут сопровождаться плавной цветовой палитрой:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Пример 5.4.1\n", "\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "dat = np.random.random(200).reshape(20,10) # создаём матрицу значений\n", "\n", "# Создаём список цветовых палитр из словаря\n", "maps = [m for m in plt.cm.datad]\n", "# или так\n", "maps = []\n", "for m in plt.cm.datad:\n", " maps.append(m)\n", "\n", "fig, axes= plt.subplots(nrows=2, ncols=1, sharex=True) # смотри главу \"Рисунки с несколькими областями рисования\"\n", "\n", "cmaplist = plt.cm.datad\n", "\n", "for i, ax in enumerate(fig.axes):\n", " random_cmap = np.random.choice(maps)\n", " if(i == 0):\n", " cf = ax.pcolor(dat, cmap=plt.get_cmap(random_cmap))\n", " else:\n", " cf = ax.imshow(dat, cmap=plt.get_cmap(random_cmap)) \n", "\n", " ax.set_title('%s colormap' % random_cmap)\n", " \n", " fig.colorbar(cf, ax=ax)\n", "\n", "plt.suptitle(u'Различные цветовые палитры')\n", "\n", "save('pic_5_4_1', fmt='png')\n", "save('pic_5_4_1', fmt='pdf')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Чтобы создать пользовательскую плавную цветовую палитру нужно, во-первых, определиться с её основными цветами. Пусть мы выбрали следующее сочетание цветов: розовый, синий, зелёный, оранжевый и красный. В представлении RGB это означает спискок следующих значений:\n", "\n", "+ розовый - rgb(150, 0, 0), ;\n", "\n", "+ синий - rgb(0, 0, 255),\n", "\n", "+ зелёный - rgb(0, 255, 0),\n", "\n", "+ оранжевый - rgb(255, 150, 0),\n", "\n", "+ красный - rgb(255, 0, 0),\n", "\n", "Matplotlib работает с rgb в относительных единицах, поэтому классические значения rgb триплетов нужно поделить на 255.\n", "\n", "После этого нужно создать \"словарь палитры\" cdict. Это словарь для каждого из оттенков RGB ('red', 'blue', 'green'), где каждому оттенку приписан список или кортеж (x, y0, y1):\n", "\n", "+ x - определяет положение в палитре в диапазоне [0,1]. Проще представить будущую палитру в виде шкалы от 0 до 1;\n", "\n", "+ y0 - значение цвета в относительных единицах ([0, 255] -> [0, 1]) с одной стороны (слева) от положения x;\n", "\n", "+ y1 - значение цвета ([0, 255] -> [0, 1]) с другой стороны (справа) от положения x.\n", "\n", "Между заданными позициями x метод LinearSegmentedColormap линейно интерполирует значения цветов между (x_i - y1_i) и (x_i+1 - y0_i). Обычно y0 и y1 совпадают, но, используя разные значения, можно добиваться более сложых эффектов, например разрывов в палитре. " ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 127.5 0. 25.5]\n" ] }, { "data": { "image/png": "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\nRK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Пример 5.4.2\n", "\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "dat = np.random.random(200).reshape(20,10) # создаём матрицу значений\n", "\n", "xx = np.array([0.5, 0.0, 0.1])*255\n", "print xx\n", "# Создаём список цветовых палитр из словаря\n", "\n", "# ---------------------------------------------------------\n", "# Вариант 1 Ромашка (бело-жёлтый)\n", "\n", "cdict1 = {'red': ((0.0, 1.0, 1.0),\n", " (1.0, 1.0, 1.0)),\n", "\n", " 'green': ((0.0, 1.0, 1.0),\n", " (1.0, 1.0, 1.0)),\n", "\n", " 'blue': ((0.0, 1.0, 1.0),\n", " (1.0, 0.0, 0.0))\n", " }\n", "\n", "cmap1 = mpl.colors.LinearSegmentedColormap('cmap1', cdict1)\n", "\n", "\n", "# Вариант 2 Светофор(красный-жёлтый-зелёный)\n", "\n", "cdict2 = {'red': ((0.0, 0.0, 0.0),\n", " (0.5, 1.0, 1.0),\n", " (1.0, 1.0, 1.0)),\n", "\n", " 'green': ((0.0, 1.0, 1.0),\n", " (0.5, 1.0, 1.0),\n", " (1.0, 0.0, 0.0)),\n", "\n", " 'blue': ((0.0, 0.0, 0.0),\n", " (0.5, 0.0, 0.0),\n", " (1.0, 0.0, 0.0))\n", " }\n", "\n", "cmap2 = mpl.colors.LinearSegmentedColormap('cmap2', cdict2)\n", "# ---------------------------------------------------------\n", "\n", "fig, axes= plt.subplots(nrows=2, ncols=1, sharex=True)\n", "\n", "cmaplist = plt.cm.datad\n", "\n", "cmaps = [cmap1, cmap2]\n", "\n", "for i, ax in enumerate(fig.axes):\n", " cf = ax.imshow(dat, cmap=cmaps[i]) \n", " fig.colorbar(cf, ax=ax)\n", "\n", "plt.suptitle(u'Создание цветовых палитр')\n", "\n", "save('pic_4_4_2', fmt='png')\n", "save('pic_4_4_2', fmt='pdf')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Позиции цветов x на палитре могут быть неравномерными. Тогда на какие-то цвета будет приходиться большие участки цветовой палитры." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Пример 5.4.3\n", "\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "\n", "# розовый [255, 204, 255] -> [1., 0.8, 1.]\n", "# фиолетовый [153, 0, 255] -> [0.6, 0., 1.]\n", "# синий [0, 0, 255] -> [0., 0., 1.]\n", "# красный [255, 0, 0] -> [1., 0., 0.]\n", "\n", "cdict1 = {'red': ((0.0, 1.0, 1.0), # red in RGB of pink, розовый\n", " (0.2, 0.6, 0.6), # red in RGB of blue синий \n", " (0.8, 0.0, 0.0), # red in RGB of violet фиолетовый \n", " (1.0, 1.0, 1.0)), # red in RGB of red красный \n", "\n", " 'green': ((0.0, 0.8, 0.8), # green in RGB of pink, розовый\n", " (0.2, 0.0, 0.0), # green in RGB of blue синий \n", " (0.8, 0.0, 0.0), # green in RGB of violet фиолетовый \n", " (1.0, 0.0, 0.0)), # green in RGB of red красный \n", "\n", " 'blue': ((0.0, 1.0, 1.0), # blue in RGB of pink, розовый\n", " (0.2, 1.0, 1.0), # blue in RGB of blue синий \n", " (0.8, 1.0, 1.0), # blue in RGB of violet фиолетовый\n", " (1.0, 0.0, 0.0)) # blue in RGB of red красный \n", " }\n", "\n", "cmap1 = mpl.colors.LinearSegmentedColormap('cmap1', cdict1)\n", "plt.register_cmap(cmap=cmap1)\n", "# ---------------------------------------------------------\n", "\n", "fig = plt.figure()\n", "\n", "ax = fig.add_subplot(111)\n", "\n", "cmaplist = plt.cm.datad\n", "\n", "cf = ax.pcolor(dat, cmap=cmap1) \n", "cbar = fig.colorbar(cf, ax=ax)\n", "plt.suptitle(u'Розово-сине-фиолетово-красная палитра')\n", "\n", "save('pic_4_4_3', fmt='png')\n", "save('pic_4_4_3', fmt='pdf')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Исследователь Крис Слокум из государственного университета Колорадо [на своём сайте](http://schubert.atmos.colostate.edu/~cslocum/custom_cmap.html) предложил код функции, которая перерабатывает заданный список цветов RGB в относительные единицы и создаёт как равномерную, так и не равномерную цветовую палитры. Это намного удобнее для создания собственной цветовой палитры, когда можно воспользоваться списками RGB из различных источников (см. список электронных ресурсов) и не задавть cdict вручную или писать собственную функцию. " ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nw8PDIxP4f6OYH6tbU+mOAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Пример 4.4.4 - взят с http://schubert.atmos.colostate.edu/~cslocum/custom_cmap.html\n", "\n", "'''\n", "NAME\n", " Custom Colormaps for Matplotlib\n", "PURPOSE\n", " This program shows how to implement make_cmap which is a function that\n", " generates a colorbar. If you want to look at different color schemes,\n", " check out https://kuler.adobe.com/create.\n", "PROGRAMMER(S)\n", " Chris Slocum\n", "REVISION HISTORY\n", " 20130411 -- Initial version created\n", " 20140313 -- Small changes made and code posted online\n", " 20140320 -- Added the ability to set the position of each color\n", " 20150503 -- Shabanov P.A.: added debug parameter\n", "'''\n", "\n", "def make_cmap(colors, position=None, bit=False, debug=False):\n", " '''\n", " make_cmap takes a list of tuples which contain RGB values. The RGB\n", " values may either be in 8-bit [0 to 255] (in which bit must be set to\n", " True when called) or arithmetic [0 to 1] (default). make_cmap returns\n", " a cmap with equally spaced colors.\n", " Arrange your tuples so that the first color is the lowest value for the\n", " colorbar and the last is the highest.\n", " position contains values from 0 to 1 to dictate the location of each color.\n", " '''\n", " import matplotlib as mpl\n", " import numpy as np\n", " bit_rgb = np.linspace(0,1,256)\n", " if position == None:\n", " position = np.linspace(0,1,len(colors))\n", " else:\n", " if len(position) != len(colors):\n", " sys.exit(\"position length must be the same as colors\")\n", " elif position[0] != 0 or position[-1] != 1:\n", " sys.exit(\"position must start with 0 and end with 1\")\n", " if(debug):\n", " print 'position:', position\n", " print 'len colors', len(colors)\n", " \n", " if bit:\n", " for i in range(len(colors)):\n", " colors[i] = (bit_rgb[colors[i][0]],\n", " bit_rgb[colors[i][1]],\n", " bit_rgb[colors[i][2]])\n", " if(debug):\n", " print 'colors', colors\n", " cdict = {'red':[], 'green':[], 'blue':[]}\n", " for pos, color in zip(position, colors):\n", " cdict['red'].append((pos, color[0], color[0]))\n", " cdict['green'].append((pos, color[1], color[1]))\n", " cdict['blue'].append((pos, color[2], color[2]))\n", "\n", " if (debug): \n", " print 'red', cdict['red']\n", " print 'green', cdict['green']\n", " print 'blue', cdict['blue']\n", "\n", " \n", " cmap = mpl.colors.LinearSegmentedColormap('my_colormap',cdict,256)\n", " return cmap\n", "\n", "### An example of how to use make_cmap\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "fig = plt.figure()\n", "ax = fig.add_subplot(311)\n", "### Create a list of RGB tuples\n", "# 'r', 'y', 'w', 'g', 'b'\n", "colors = [(255,0,0), (255,255,0), (255,255,255), (0,157,0), (0,0,255)] # This example uses the 8-bit RGB\n", "### Call the function make_cmap which returns your colormap\n", "my_cmap = make_cmap(colors, bit=True)\n", "### Use your colormap\n", "plt.pcolor(np.random.rand(25,50), cmap=my_cmap)\n", "plt.colorbar()\n", "\n", "ax = fig.add_subplot(312)\n", "colors = [(1,1,1), (0.5,0,0)] # This example uses the arithmetic RGB\n", "### If you are only going to use your colormap once you can\n", "### take out a step.\n", "plt.pcolor(np.random.rand(25,50), cmap=make_cmap(colors))\n", "plt.colorbar()\n", "\n", "ax = fig.add_subplot(313)\n", "colors = [(0.4,0.2,0.0), (1,1,1), (0,0.3,0.4)]\n", "### Create an array or list of positions from 0 to 1.\n", "position = [0, 0.3, 1]\n", "plt.pcolor(np.random.rand(25,50), cmap=make_cmap(colors, position=position))\n", "plt.colorbar()\n", "\n", "save('pic_4_4_4', fmt='png')\n", "save('pic_4_4_4', fmt='pdf')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.5 Дискретная цветовая палитра\n", "\n", "Плавная палитра, несомненно, лучше смотрятся при отображении трёхмерных поверхностей в виде плоских карт и 3D графиков. Однако в научной графике часто требуется не столько красота, сколько простота и однозначность рисунка. Чтобы избежать споров при определении оттенков и, соответственно, значений поля, следует использовать дискретные палитры там, где это критично.\n", "\n", "Дискретная палитра представляет собой набор цветов с чёткой границей между соседними оттенками. Обычно этот набор берётся из одной из непрерывных шкал, но можно задать свою последовательность цветов либо в RGB, либо в HEX форматах. " ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Пример 4.5.1\n", "\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "dat = np.random.random(200).reshape(20,10) # создаём матрицу значений\n", "\n", "N = 10\n", "# Список цветов\n", "cpool = [ '#bd2309', '#bbb12d', '#1480fa', '#14fa2f', '#000000',\n", " '#faf214', '#2edfea', '#ea2ec4', '#ea2e40', '#cdcdcd',\n", " '#577a4d', '#2e46c0', '#f59422', '#219774', '#8086d9' ]\n", "# Создание дискретных colormap\n", "cmap1 = mpl.colors.ListedColormap(['r','orange','y','g','c','b','violet'], 'indexed')\n", "cmap2 = mpl.colors.ListedColormap(cpool[5:5+N], 'indexed')\n", "\n", "#plt.register_cmap(cmap=cmap3)\n", "\n", "fig, axes= plt.subplots(nrows=2, ncols=1, sharex=True)\n", "\n", "cmaps = [cmap1, cmap2]\n", "\n", "for i, ax in enumerate(fig.axes):\n", " cf = ax.pcolor(dat, cmap=cmaps[i]) \n", " fig.colorbar(cf, ax=ax)\n", "\n", "fig.suptitle(u'Создание дискретных цветовых палитр')\n", "\n", "save('pic_4_5_1', fmt='png')\n", "save('pic_4_5_1', fmt='pdf')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "При задании дискретной палитры необходимо обращать внимание на согласованность границ делений цветовой шкалы и границ цветов, иначе анализ рисунка будет серьёзно затруднён. На плавной цветовой шкале это не так заметно, как на дискретной.\n", "\n", "Для задания положения делений в методе fig.colorbar() или plt.colorbar() необходимо указать параметр ticks. Число положений делений должно быть на 1 больше числа цветов в палитре (делений на отрезке на одну больше, чем промежутков между ними)!" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWAAAAERCAYAAABFH30oAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmYVNW19/HvDyOozKio3EsUB4yKouIVUZRuYxxxjMmN\nMUZRo3FKoiYEiS92jFGCERNxJo7Rq4mKuXH2URqhEUGcCcYJ9ZqoQQVFiDix3j/OLqguuqqaps4+\nTdX6PA8PVad2nb2qG1bvPvvstWVmOOeci69D1gE451yt8gTsnHMZ8QTsnHMZ8QTsnHMZ8QTsnHMZ\n8QTsnHMZ8QScAUnbSbpX0mRJsyQ1ZB2Tcy4++X3AcUnqAUwFDjez1yR1AO4AHjaza7KNzjkXk4+A\n4zsUeNTMXgMws2XA94HrASRdIumJ8OdH4dhxkp6R9KykfcOxWyU1hj+fhmMDJD0k6ZHQdkg4/m6u\nc0m3SRomqUHSyeHYLyXNCI+HSZomaYqk6yR9pfADSPpb6HempMZw7A1JHSV1kvRS3rkvD+2ekXSI\npLoQQ+fwGfeT9LikGyQ1Sbpb0rqS1g79PxbiycXcKOmz8PePwvv2C33tH55vmvs8eTHn+v1PSS9L\n2ljS3pKmhh+CzdrlPX8n/H2jpOdCPE3h/d0l3Rl+k5kcvv5XS5oh6aMQ47clfSN81imS7grvq5M0\nP7R5TtK3C79X4flm4Xxdw9d9gKRtw3u6FLRb1MK/iWGSHg3HnpS0VcHnaQzfr/NC29vC6/WSlkla\nJ8T9oqQ3w+fsH957p5Lf4CZKUqv+9btmVvrP5VK3CfB6/gEzWwIgaTiwmZntFhJfk6TJQEdgKDAc\nOBF4GOhoZvXhfe+EU20LnG1mcyQdBYwAZgAt/Zpj4b3bAF/PazMR2N3M3pd0PnAc8IeC9841s29J\n2hq4Ou98An4BLArnPhxY38wGKxn5nwU8GtqfAUwws4ckXQmcbGYvSPot8ENgKfCemZ0gaX3gMTMb\nkPu8eZ/9huJf6pU/r5n9Q9JI4GagN3Bg+CHYrF2R9//MzB6WdBkwGNgdeMTMrg6J7Xoz21PSpsDt\nZlYfEtNrwB5m9o6SH6rnAveS/CA+StKgcOzPxfo3s48lHceK78UxZra4oNnfivyb+F7o+xzgW8CF\nBZ/nZGDj3EkkdQrx/AtYZmZ1ko4Ftjaz0aHNZsB+ZvaupDuAw4C7i3ztXBE+Ao7vTaBv/gFJ/STt\nBXwNmAZgZl8ATwDbmtm1wLHA5cAj4W2dWzj328D/k3QjcCQrfsCunxsZAXvndw2MA0YmYWhDkv+I\nd4S2+wJfLYh1E+CjvPfn2xbYgiS5APQn+QGAmX1oZmPCe/YDvgvcGdrNN7MXwuOm8L4BwIEhjjuB\ntST1auEzCxgX2v2GFQls27zR4BkF7/lf4D+AKWb2dgvna4mAiyU1hdifAbYHjg99Xwv0bOEcGwCL\nzCyXEKcB24XHe4f33kNyWQqgV4h5SvgBuPxcZvYksBB418yeLxJnobeBy8IPqnqaD7qKfdZzgUtJ\nfgjmy28/18xyo/XpJN8zt4o8Acd3L7C/pM0BJK0NjCdJXi+SjHRzx3cHXg8jtquBQcCPJG0JvNvC\nuX8PnGdmxwEvsOL7+4GZ1YfR0eRwTCQj5PuBf4Zj7wP/AA4JbceyIuHnDGdFssin0P7svGMvAv8V\nPk93SfeTJMiHgAnhcwNsEEZUAHuE2P8O3BbiOBT4s5ktaKHf3EiunvCDJByfG47tC5wJ9Mh7z9kk\nv0X8l6TBLZyzJQaMNLOhwE/COeYCl4Z+vgfc1ML73ge6ScqNMIcBL4XHk8N7twB+Go4tCMfqgTpg\nh9yJJB0JLAa+kPTNVsZ9LXCcmY0gSca5fxNrAV+20H4bkt/C7m3htXxbSeoeHu9O8j1zq8gvQUQW\nfpU8Fpio5NpjV+CvZnY1LL8G+TjJZYc/mdmTkg4GniL5z3MV8CDwaRg9AfQM57yFZPT6FjCb5HJH\n0VCAL8zsqpD8zMxM0o+B+0NsH5FcnybEtiPJr6+vSBoBrEfyH3FgON+k8Ctp+Kj2V0n7SJpG8m+t\nYcWXwSZKul9SHfAFcJGkvsA84JzwWSdKmgJ0A64oiL3U5wLoL+luYF2SHzIfAhZ+3T8K2I0k8d0l\naTcz+zjv/UPDewG6S/rv8Hhc+DW+O0kCfha4TtJJIcbzCuMIX9MfAJMkLQMWkFzW2Z4VI+DOJBOx\nAD1C3x1JEubcEPdXgfNJfkCvBUyTNMvM3irydck9viW0fZvkh1ofSWcCOwGjWmj/VZLfUArPV/h8\nKXCzpI2AJjO7H7fK/C6INZCkxty1vvB8GFBnZr9Mud9hwDAzOz/v2Hkkv8o/thrnfcHMtq9EjJUW\n62u7pmnP37M1iY+A10znFTz/GzA/Qr8t9fNn4L3VPG97HgW8RJhUdM205+/ZGsNHwM45lxGfhHPO\nuYx4AnbOuYx4AnbOuYx4AnbOuYx4AnbOuYx4AnbOuYx4AnbOuYx4AnbOuYx4AnbOuYyUXIocKnJd\nD2wKdAIuIKlwdSOwDJgDnGa+nM4551ZZuRHw0SRFsfcC9iepSHUJMDocE0mpQOecc6uoZC0ISZ1D\nm8VhV4JZJDsx9A2vHwLsa2anR4nWOeeqSMkRsJktCcm3K0m90nML3rOYpDaqc865VVS2HGUokj0J\nuMLMbpM0Lu/lriSFrlt6n18Xds61ipmt1qaexfLN6p43beUm4TYi2brlVDPL7b7wjKRhoQD3AazY\nZLEF6efgxsZ4X9/6+vNYsalDihrifaYFHRYwdvJYRu09qnzj1dRrz+dS7yPnvAn1NLR2057VdXSk\nfm6FhruI87lifSaKb0y3qhac33zHql5jWtpCsH0pNwIeTXKJYYykMeHYj0k2+etIsl3KncXe7Jxz\nrriSCdjMfkyScAvVpRKNc87VEF+IsUrqsg4gFUP7Dc06hIqr2ybrCNJRrZ+rVqW7J1zjlFRPD1BX\nX75NpditcTqb0idKNwD0qu8JHByns4Z436yBnRaw8LU4fT3XGOda48BpCxjYiSifqxc90+9kuXY9\nT5YqHwE751xGPAE751xGPAE751xGPAE751xGStaCWK0TS1FKpCnCYo8cq8LJAjVE7GxYY/k2lVJf\nF62rmIuBYhk4bUH5RhXSa0yviqyEa2khRv55JXUArgR2AD4FTjSz1/JeP5xk7YMB15vZ1eH408BH\nodk8MztB0u3ARuFYP+BxM/tuaL8hMB0YYGaflYo73bsgnHOu/TiMpJjY7pIGk1R2PCzv9fHATsAS\nYK6k20gSNWbW7BYeM/sOgKQeQCNwZni+HzAW6N2agPwShHOuVuwBPAhgZjOBXQpe/xzoAaxHcm+c\nAQOB9SQ9JOnRkLjznQ9cZmb/Cs+/BL4OLGxNQD4Cds7Vim7AorznX0rqYGbLwvNLgKdIRsB3mdki\nSUuAi83sOklbAQ9I6m9myyT1BvYmb7WwmT0CILXuioonYOdcVWh6vYmm15tKNVlEUsExZ3nylfRV\n4HSS3X/+Ddwi6Ujgr8CrAGb2iqQPgE2AfwJHAreuzo5AnoDboZgTi43D4k0gDZw2MFpfPW+N97lU\nH+n7FWFl6XJjYq6Eq4xDbjiY5qs6xxU2mR4a3CFpN+D5vNfWIbl88GkY3c4HegIjSCbtTpPUh2QU\n/U54zz4klyDazBOwc65W3A18Q9L08HyEpKOALmY2UdJNwOOSlpKMem8I7W6QNDX3nrxLFv2BeUX6\natVPZU/AzrmaEC4VnFJw+OW81y8FLm3hrccUOd+AEn1t3pqY/C4I55zLiCdg55zLyJp/CSLixIQe\ni9PPgg6tuoWwInpF+kwANESc2GmMt+ou1gpJEXElYcRtsWLs8tVetWoELGmwpMbweCdJ/5DUGP58\nO90QnXOuOrVmV+SRwPdItqAHGASMN7PxaQbmnHPVrjUj4FeBI1hRtn4QcJCkxyT9QVKX1KJzzrkq\nVjYBm9kk4Iu8QzOBn5rZMJJ74M5LKTbnnKsYSR0kXS3p8XD5dIu81zbKu6zaKGmhpJPyXl9+Gbbg\nnN+V9Hje89MkzZI0U9K3ysXUlkm4u80sV5rtL8BlxRpqWN6TzUiKtlWYvR1vn7FY0xI9t4izxxgA\nR8dbdRdzYsfejtZVxJWLUyL1Aws6pFeOsnDJ8LiVV6ylpWg1tFBMpx5A0hDgV8DE8LzwMizh+E7A\n8XnPNwB+COwIrAvMBe4oFVBbEvCDkn5kZk+SVP2ZXbRlxA0znXNrhqH9hjbbiXvclGgJuFk1NEmF\n1dBQUkXnMuC7eTUecpdh/5jXbn3g18BPCInazN6XNDAsZd4EWFouoFW5DzgXzA+BS8NwfAhwwSqc\nwznnstJiNbSCNgcDc8zsldyBwsuwktYCrgPOomBUHJLvacAM8hJ2Ma0aAZvZG8Du4fFzwNCSb3DO\nueimUOYyTdFqaHmOBn5XpqNBwJbAVSRFfLaVNN7MzgIwsyskXUtSunKamRUNas1fiOGcc5DsS0Hd\niuf1vyxsUaoaWs4uZjajVDdmNgsYACBpU+B2MztL0tbARWZ2BMmI+VOSCmtFeQJ2ztWKctXQNmTF\n3m8taWm2NbdzBmb2kqRnJc0Ix+43s2mlAkp1U84Yq0HrY9ViJeKS04jLaGOKesfKK+XbVEqadwzk\n6zkm3t0xMWtSgyqyKedKy8/r61f7vGnzYjzOOZcRT8DOOZcRT8DOOZcRT8DOOZeRVO+CqI9Qa9Zi\nbr4Yadmu1Uf8TBEn/NQnXl8LXou3Aehze8aZHKtviNJN4PWAY/ARsHPOZcQTsHPOZcQTsHOuJpQq\nRxleP1PSnLySlP0lHZv3/AlJn0jqlveeSyWd3EI/DxQeb4mvhHPO1Yqi5SiDnYFjzOyZvGMvAzcB\nSLoc+IOZLQqr5m4GtgJeLOjnAqAHLa+ca2bNT8BHx+sq2kq4hijdJB6LtzrNGqJ1FfVrGLP2cCyN\nw8q3qZSIVWvLlaMcBIyWtDFwn5mNzb0Q2m5nZqeHQ51JNqM4gLwZS0lHktR/eJBWzGT6JQjnXK0o\nV47yNuBkYG9gqKSD8l4bTd79Gmb2RijKs5ykAcBRwBhaeRvJmj8Cds45gGefTf4UV64c5e/NbBGA\npPuAnYD7JPUA+ptZuRtrjwH+A5hMsgfQZ5JeN7OHi73BE7Bzrjp8dGa5bc+KlqOU1B14XtK2wL9J\nRsHXhZf3Ah4t172Z/TzvfOcB75RKvuAJ2DlXO8qVoxxFUlX4U+ARM3swtOsPvFbivG1eodWqcpRh\nxnCsmdVL2hK4EVgGzAFOsxZOIskWnJ9+mb5eY3qm3sdyjVPi9FOlE2PcGrGviGKVvrSt4vQDsPC1\nOCU2AXqN6VWZcpQNBQcbWPPLUYYdQScCncKh8cBoM9uL5ELzoemF55xz1as1d0HkdgTN/STZ2cym\nhscPAPukEZhzzlW7sgm4cEdQmt9esRjoXumgnHOuFrRlEi7/to2uwIfFGo6dvPw+Zob2G8rQfr6Z\nsnO1run1Jppeb8o6jHahLQn4GUnDwj1xB1Di9ozfTBm34kn+40pqSOe0LbFIc2MLI0xe5kxpjLfP\nWIzypFmItWpMEfc/pCHFuatNw5+cKel11d6tSgLOfffPBiZK6gjMBe6seFTOOVcDWpWAzewNYPfw\n+BWgLr2QnHOuNngtCOdcTShXjjKv3bWSLgqP15b0R0lTJc2UdHA4/jVJTZKmSbpOksLxAyTNCH8u\nKxeTJ2DnXK1YXo4SGEVSjrKZUMN3ACsuuX4PeC+se9gfuDwcbwAuMLM9SdZIHCSpKzAOOMjMhgD/\nDGUri0p3KXKMlU+R9mlLxFlU02vP56L0A7BgWrwJvwURf9z33CLe5KIiTS7GKocKoIbq+39FmXKU\nknYHdgWuAb4WDv8ZuCM87gB8Hh5/AqwfRr5dgc+AIcALwHhJm5PUDn6vVEBeC8I5Vx1eB94o2aLF\ncpRmtkzSJiRlJA8H/jvXwMyWAITR7R3AueGlCcDD4fmHwGPAkSTljQcCS4BpkmaEebMWeQJ2zlWF\nxuOaP69f+bbRUuUojwQ2AO4HNgbWk/Simd0sqS8wCbjCzG4P7W8B9jSzFyWdSnI54x7gSTObDyBp\nKrAjUDQB+zVg51ytmA4cCFBYjtLMJpjZLmZWD4wF/ick341IRrojzezGvHOtB3wcHr9DsgXR08AA\nSetL+gqwG/C3UgH5CNg5VytKlqMsaJu7CD6apNzCGEljwvEDgROBOyUtJSlf+QMze0/SOcBD4b1/\nMrO5pQJqVTnKtpBkFmESLm7ZvDilLxecvzBKPxC5nGeaq6sKxNzTrC7SCsmoewXG1LD6ZSMlWWNj\n82P19VVQjtI551w6PAE751xGPAE751xGPAE751xGUr0LYkqfNM+eqDs63oqnGJOKEHdiMebE2IIO\nESdMibeaMF5tquqcxIy3A2L74yNg55zLiCdg51xNKFcNTdJRkp4IVc6uUqKDpOvDsamStg5td5L0\nj3CeRknfljQw73mjpE8k7VsqJl+I4ZyrFcuroUkaTLJ8+DAASesCvwIGmNlSSf8DDCcpvtPZzIZK\n2gf4Ncmy5UHAeDMbX9BHfTjft4B/mNnDpQLyBOycqxWlqqEtBYaY2dLw/CskFc8+B7qHqmfdSaqe\nQZKA+0s6lKTWw0/MbDGApM4k5Sr3LBdQqgl4YIRShyLeSq7GPpEmQfpEnFiMOAOixngTY/Z2vA8m\nIpVujFgisj7i5GxERauhWbIk+D0ASWeQjHofCTUd1gH+TlKs56Dw3pnAtWb2jKTRwHnAz8JrJwB/\nNrOyCbDNCVjS08BH4ek8MzuhredyzrnV9eyzyZ8SSlVDQ1IHkoLqWwLfDIdHAtPN7BeS/hOYLGkA\ncLeZ5fLfX4D83S++m/f+ktqUgCWtAxAqBznnXOZ+0hvIm/K66aaVmkwHDgbuKKyGFlxDcinicFtR\nJKczK0bNC0ly5leAByX9yMyeBL4OzAaQ1B3oZGb/bE3MbR0BDySpl/lQOMdoM5vZxnM551wMRauh\nkSTQ44GpJKNcgN8BFwM3SJoGrE2S6/4t6YfAFZI+JylHeVI4Z3+S0vCt0tYEvAS42Myuk7QV8ICk\n/vnDeeeca0/CqPaUgsMv5z1eq8hbD2/hXM8BQ1s4/iRwRGtjamsCfhl4NXT4iqQPgE2AZsPu3z+7\nYjKpbhuo27aNvZWw4PyIq6si7f0Vc7IlZunLRiLu09ansXyjSmmcEq+vWNL8t15+66Ca0dYEPALY\nAThNUh+S2cV3Chs1tOoytHOupvQLf3JiDWzaobYm4OtIrotMDc9H+OUH55xbNW1KwGb2BXBMhWNx\nzrma4rUgnHMuI6muhFPRzZgrKd7ETqzJsWrdE65wz65U1ddF68pilYmMVA4VSBbSRlKVa+5ayUfA\nzjmXEU/AzrmaUK4cZWiznqTpubKTecd7S3pLUv/wfMdQnrJR0oOSeofjZ0l6OvRxVLmYPAE752rF\n8nKUwCiScpTLhepoU0lukrO842uTLFNektf8d8DpoRzDJODnoUbE94HdSMpS/kLSRqUC8gTsnKsV\nzcpRArsUvN6RJEm/VHD8YuAqmq91+I6Z5WpJrE1SunIbYIqZfWZmnwJzSJJxUalOwllDmmePb2Gk\nybFey+JNLMacGKuPecN9zNVpb8fpJupegefH64ox0f69Fy1HCWBmjwOEOhCEx8cB75nZw5LOIcwZ\nmtm74fXdgdNIav9uCJwjqQvQCdgd+N9SAXlBdudcVZhyNEwp3aRkOcoiRgAWdsPYEbhJ0iFmNl/S\nfwOjgQPN7APgA0mXk4yy/4+kZvD7pU7uCdg5VxXqaL4/9S9XblKuHOVKzGz5/tCSGoGTQ/L9HkkF\ntDozWxhe3wDoFrYv6g48DjxR6vyegJ1ztaJoOUozm9jak0haC/g98CYwKVyymGJmv5S0taRZwDJg\npJl9XOpcnoCdczWhFeUoc+1a3Gii4Pj6RdoUnr8krSj8XlmSLMZqmsZh5dtUSl2kyZZqFWdlZCLq\nBHCkFWpT+sTpB6C+Pl5JVBBmtloL4iStlMkEq33etPltaM45lxFPwM45lxFPwM45lxFPwM45l5FU\nJ+FiXMZfGHFPuFh67flc1iGkwt5ucXI5FdU4YRWt7CVx/1/1GtPLJ+FWRWuqClWjptebsg4hHc8+\nm3UEFVeFHwkou9LLlVAub0k6WNKs8PqJpd4jaUtJTaEi2pUKNwNL+oGkJyXNkHRQuZjaegmiZFWh\nauUJeM1RhR8J8AS8mormrVDxbDzwDWAYcFIoMXkY0KmF94wHRpvZXiSD7UMlbQycQVIDYj/gIkkd\nSwXU1oUYzaoKhTJuzjnXnpXKW9sAr5rZRwCSmoC9gCHAAy28Z2czy21K/ACwL/AlMN3MPgc+l/Qq\nye7xs4sF1NYRcItVhdp4Lueci6FU3uoGfJT32sdA9yLvWYvmOynlt23pHEW1dQTcqqpCUa5+xytl\nB8C4KeOi9hfNTTel3kXs2ZAIHymI88lyvbRQZKbyIv+/qoRWfBdK5a2PCl7rCnxY5D1fSsrPd92K\ntO0KlKxh29YEXLaqUHuffXTOVY9W5ptSeevvwFaSepLsfLEXSSF2K/KeZyQNM7PHgAOAR4FZwK8l\ndQLWIbmsMadUQG1NwCtVFWrjeZxzLpaS1dAknQU8RHJp9joze0dSsVx3NjAxTLLNBe40M5N0GTAt\nnGO0mX1WKqDU7gN2zjlXmk+cOedcRjwBO+dcRjwBO+dcRjwBO+dcRjwBO+dcRjwBO+dcRjwBO+dc\nRjwBO+dcRjwBO+dcRjwBO+dcRjwBO+dcRjwBO+dcRkpWQwvbdFwPbAp0Ai4AXgRuBJaRlFo7zbyi\nj3POrbJyI+CjgffCvkf7A1eQ7InUbC+kdEN0zrnqVLIcpaTOoc1iSeuTFBzuaGZ9w+uHAPua2elR\nonXOuSpScgRsZktC8u0K3AGcW/CexZTZ88g551zLyu6IIakvMAm4wsxuk5S/KVpu36SW3ufXhZ1z\nrbK6W5gVyzftfWu0cpNwGwEPA6eaWWM43NJeSC1acvnmFQu0aB/XfjX1PnL69/2UnsP3SL2fXd96\nKfU+crbp8lsaH5lA/T5npN7XpCnvpN5Hzrvb3MvGPxkZpa/Z628bpZ9dPpjLu78bF+1zxfJ8v94V\nOU/Dhc3/3zSM3roi501TuRHwaJJLDGMkjQnHfgxclr8XUorxOedc1SqZgM3sxyQJt1BdKtE451wN\n8YUYq2Cd/n2zDiEVm22+a9YhVFyX3dK/VJSFav1ctcoT8CpYt3+8680x9dt8cNYhVFy1Jqpq/Vy1\nquxdEO1dj6Y50fqaOfSCSD2dG6kf6HzSAdH6OviiO6L1dc9tC6P19eHtA6L08/Ep48o3qpA5X06K\n1lfnSP1I6gBcCewAfAqcaGav5b1+FPAzYClwh5ldmnZMPgJ2ztWKw0gWku0OjCJZ1QtAWGh2IbA3\nsAdwqKSd0g7IE7BzrlbsATwIYGYzgV3yXtsCeM7MPgy1bZ4A9ko7IE/Azrla0Q1YlPf8y3BZAuAV\nYDtJvSWtB3wdWC/tgNb4a8DOOQfw+ryZvDFvVqkmi0hW7+Z0MLNlAGa2UNKZwF3AB8DTwPtpxZqT\nagJe+/uLyjdaTZ/f3C31PnJ6NB0Wra9Yjhk7JFpfL57zcbS+ZhzyrWh9LSHO3TEzr5odpR+Ai7/z\nQLS+oDIr1qYOeh4GrbPiwOSVmkwHDgbukLQb8HzuBUlfAXYxsz0ldQIeA35TkcBK8BGwc65W3A18\nQ9L08HxEuPOhi5lNlPSlpKeAL4GrzWxe2gF5AnbO1YQwuXZKweGX817/FfCrmDH5JJxzzmXEE7Bz\nzmXEL0G0QzEnFifcG29ibPAp90bra8lVN0frq/NJ34/Sz/FvbxelH4BZPSdG6yuWVqyEO5ykAqQB\n15vZ1WnH5AnYOVcrlq+EkzSYZCVc/q1N44GdgCXAXEm3mdlHaQbkCdg5VyuarYSTtEvB658DPUh2\nfBfJSDhVnoCdc7WixZVwucUYJCPip0hGwHeZWeoLGTwBO+eqwicv/x9LX36rVJOiK+EkfRU4HdgU\n+Ddwi6QjzSzVHX9STcC7fDA3zdMn/hqhj2Cbty8p36gCZvWNt5fVrsPj7T8Xs8ThkI2HR+trdoQV\nnwCMjdMNwJ27HhWtr0H8tiLneW2L2UlJnaDzfSs1KboSDliHZAHGp2a2TNJ8kssRqWrVbWiSBktq\nDI93kvQPSY3hz7fTDdE55yribmBpWAl3CXCmpKMk/cDMXgZuAh6XNI1kL8wb0w6oNdvSjwS+BywO\nhwYB481sfJqBOedcJbViJdylQOpF2PO1ZgT8KnAEyawgJAn4IEmPSfqDpC6pReecc1WsbAI2s0nA\nF3mHZgI/NbNhwDzgvJRic865qtaWSbi7825O/gtwWbGGXx4zdPnj3puuT+9NN2hDd6VNePfnFT9n\nMWdE6qfr/iMj9QTX37dbtL7+PiTennCPXPtJtL5irlyM5Z6H0vvFthV1e2tGWxLwg5J+ZGZPklSN\nL1qkdMBe8WbznXNrhn6bD262E/djky+P0m+ppciSNgJuz2u+I/BzM7s2zZhWJQHnVoX8ELhC0ufA\nO8BJFY/KOecqr+hSZDP7F1APIGkISVnK1AtitCoBm9kbwO7h8XPA0JJvcM659qfcUmQkieSy6nfD\nXROp8nKUzrlaUWpTzpyDgTlm9kqMgFJdCTfymw1pnh6AwX1vS72PnJeOnhGln12OjLe6bwjXR+uL\ng/pG62qb4SfE62tRnP3T/jhqjyj9AGx965pXjnL7G89g8YJn846stKNQ0aXIeY4GfpdCeC3yWhDO\nuarQpddOdOm10/Ln8+fdVNik1FLknF3MLM5IC0/AzrnaUW5Tzg2BVOv/FvIE7JyrCa1YivwesHPM\nmHwSzjnnMpLqCHjcXQ1pnh6AmffGWwn3eaxyitdsG6cfgJMjlvOcGHFirEtlShy2xqm3nxylnxf2\neyhKPwB37hqtq4qVo1wT+QjYOVcTJHWQdLWkx0Mp3S0KXv8vSVMlTZN0u6SOacfkCdg5VyuWr4QD\nRpGshANP753MAAAL6UlEQVSWL8C4FjjOzPYEHgX6pR2QJ2DnXK1othIOyF8J1x/4ADhL0hSgh5ml\nvl2MJ2DnXK0otRJuA5JyCxOAfYCvS6pPO6A1fiVcj1H7pd5HbNuMjTdZNfKihmh9bb9VtPvbeeGV\nxeUbVcrtF8TrK5K+I87OOoRVtv6G5zD/zQ9KNSm1Eu4D4NXcqFfSgyQj5MY0Ys3x+4Cdc1Wh96Yb\nNKs5/remlwublFoJNw/oImmLUKJyT+AP6UbsCdg5VzvKrYQ7AfifMCE33cxSL/LhCdg5VxNasRKu\nERhMRD4J55xzGUl1BHzkrPRLRc6ZEW8/ruPf3i5KPzEmL3O23yreJOaHQ/8Sra++xNsT7ozhv4nS\nz4QR8VZ9Xvmda6L1xfO1u3VZq0bAkgZLagyPt5TUFFaMXBmulzjnXLvWipVwZ0qaE15rlNQ/7ZjK\nJmBJI0n2RuoUDo0HRpvZXoCAQ9MLzznnKqboSrhgZ+AYM6sPf1a6jaLSWjMCfhU4giTZAuxsZlPD\n4wdIblp2zrn2rtRKOIBBwOhQC2JUjIDKJmAzmwR8kXco/5LDYqB7pYNyzrkUlNsT7jbgZGBvYKik\ng9IOqC2TcPl7KHUFPizWcOG905c/Xqd/X9bt/9U2dOecqyavz5vJG/NmVfy88998f3VWwgH83swW\nAUi6D9gJuK/igeZpSwJ+RtIwM3sMOICkalCL5t+Wv7FoOpuMHjN2SCrnbckfR8VZSnvh5V2i9APQ\nd8SAaH29dcO60fqKacKIj6P0M/iUeHeR7PpWinVoesPGvfOeT67MaX971uXNng8aNKiwSdGVcJK6\nA89L2hb4N8ko+LrKRFbcqiRgC3+fDUwMtTLnAndWPCrnnKu8civhRpHUfvgUeMTMHkw7oFYlYDN7\ng6RSEGb2ClCXXkjOOVd5rVgJdxvJdeBofCWcc85lxBOwc85lJNWlyDGWns6KODEBcSbhXlz80yj9\nQOQlp/H2lOTU29+L1tcZw7uWb1QBLx19Y5R+AD6/Od4S/z9F6ifccnYlsAPJdd4TQ+nJwnbXAh+Y\n2Tlpx+QjYOdcrSi3Eg5JJwMDWHHTQao8ATvnakXJlXCSdgd2Ba6h+YKz1HgCds7ViqIr4SRtAowB\nTidS8gUvyO6cqxKzZ8/mqaeeKtWk1Eq4I0k25rwf2BhYT9KLZnZzKsEGSm6NS+HEks3foSmVc+e7\n8jsbpt5Hzs+6HRClnwFrHRGln9hSXV1VoBprKr/wSsRZzIgGDRqEma3WqDPJN3XNjvV+fkqz80o6\nAjjYzEaElXD/z8xWqvcg6VjgazEm4XwE7JyrFSVXwhW0jTIJ5wnYOVcTyq2Ey2t3U5yIfBLOOecy\n4wnYOecykvIliHPTPT0w6ag/p95HzqmHpjohutyxEScWY66626bLb6P1NeKcd6L19fHhx0XpZ9e3\nGqL0AzDh3jglNmMqtxJO0jeBn5Nc/73VzC5LOya/BuycqxXLV8JJGkyyEu4wAElrAReRbEu0BJgr\n6RYzW5BmQH4JwjlXK4quhDOzL0luPfsY2BBYC/gs7YA8ATvnakXJPeHMbFm4V/gZksLs/047IL8E\n4ZyrCtMXL2T64qJbVEL5PeEws0mS7gZuBL4f/k5Nqgk4RqnDGfftlnofOUuIs6noqbdH6QaAHk1z\novW1y5HxJsa4ZttoXc257/g4HfWJ0w3A8cO3i9fZ8+WbtMYeXa5gj7ztFH87f2hhk1J7wnUD7gG+\nYWafSVoCfFmZyIprcwKW9DTwUXg6z8xOqExIzjmXinJ7wt0CTJX0OfAccEvaAbUpAUtaB8DM6isb\njnPOpaMVe8JNBAqXJKeqrZNwA0mqBT0k6dFwS4dzzrlV0NZLEEuAi83sOklbAQ9I6l94QbvxkQnL\nH2+2+a7029zztHO1bv6b7zP/zQ+yDqNdaFM5SkkdSWYQl4bnM4EjzOyfeW2qrhzlwfstjtLP12Z8\nK0o/ABcveiBaX7G+fgAjzqm+lVwzDok02Qcc/3a8Sbg/XXhPhcpRNs83vZ8futrnTVtbL0GMIOyn\nJKkPyf11Eae4nXNu1UjqIOlqSY9LapS0RcHrR0l6QlKTpKskpZ6825qArwO6SZoK3A6MKLz84Jxz\n7UzRTTklrQv8Cqgzs6FAd2B42gG16RqwmX0BHFPhWJxzLk3NliJLyt+UcykwJHdZlSQ3fpJ2QL4S\nzjlXFaYvfprpi58p1aTFpchmtizcovYegKQzgM5m9kh60SZS3ROuzAZ5FTHurobU+8i5vs/fovQT\nc0+4OV9OitbXkmvjlPMEGHzKX6L19dLRN0bp58Oh8T5Tj6bDovXVsdv7FZmE2+H1+c2OPd+vd+Ge\ncJcAT5jZHeH5W2bWN+/1DsA4YEvgO3mj4dR4MR7nXK2YDhwIULgUObgG6AQcHiP5gl+CcM7VjqJL\nkYHZwPHAVGByuAHi92aW6q8dnoCdczWhFZtyrhUxHMAvQTjnXGZSnYT7bNEGqZw7KxdePr18owqI\nuU9bzL2/zhjetXyjCnlx9tnR+nrk3Ti/SMZc9RlTw+ito0zCtUc+AnbO1YRyK+FCm/UkTZe0dYyY\nPAE752pF0ZVwAGFhxlSgH8nOyKnzBOycqxVFN+UMOpIk6ZdiBeR3QTjnakXRlXAAZvY4QIQaPMul\nmoCPGTskzdMDMOHen6feR86k/+0ZpZ9HDo33meL6TbyuIu4Jt0+kfm5Y8FaknuKWRG2o0Hkumbsl\nj037fPnzFraaK7spZ2w+AnbOVYVhe3Zk2J4dlz+/YOxKtXSKbsqZFU/AzrlaUXJTziwC8gTsnKsJ\nrVgJl2sXbbNhvwvCOecykuoI+I+jZqR5egAu7BJvddARty2M0s8+G38RpR+Iu8/YhIjlKN/6ZvVN\nWA056Iko/QAcEXGvQIiy5qFdatMIuDUrSqrR6/NmZh1CKqa+nHrh/+hmz56ddQipWPxEnOXw1agV\ne8IdLGlWeP3EGDG19RJEyRUl1eqNebOyDiEV016pvgQcYzOALHgCXi2l9oRbGxgPfAMYBpwkqXfa\nAbU1AZdbUeKcc+1Nqby1DfCqmX1kZp8DTcBeaQfU1gTc4oqSCsTjnHNpKZW3ugEf5b32McnOyKlq\nUznKcnsrhWNRilk459Z8lShHWe68pfKWpO2BsWZ2UHg+Hmgys1Q3TWzrXRBlV5S09zqczrnq0cp8\nUypv/R3YSlJPYAnJ5YeLKx5ogbaOgAVcCewQDo0ws5VuaHbOufaipbwFDCKshJM0HBhDcmn2OjO7\nKvWY0toRwznnXGkVnTir1vuDJa0t6Y+SpkqaKengrGOqFEm9Jb0lqX/WsVSKpHPCv8EnJR2bdTyr\nK/y/ul5SU/g3uMavXJA0WFJjeLxl3me7UjHrQWas0ncuVOv9wUcD75nZXsD+wOUZx1MR4d7Ha0iu\neVUFSXXAkPBvsA7YPNOAKmNfoLOZDQXOB36dcTyrRdJIYCLQKRwaD4wO/78EHJpVbLFVOgFX6/3B\nd5BcG4LkaxZvrXC6LgauAt7JOpAK2hd4QdJfgHuAv2YcTyV8AnQPI8PuwGcZx7O6XgWOIEm2ADub\n2dTw+AHilVjOXKVrQZSsOL+mMrMlAJK6kiTjX2Qb0eqTdBzJqP5hSeew4j/Dmm5DoC8wnGT0+1fg\na5lGtPqmA+uQzNSvTzKTv8Yys0mSNss7lP9vbzER7r9tLyo9Am53FecrRVJfYDJws5ndnnU8FTCC\npDZqI7AjcJOkjTKOqRLeBx42sy/CnTlLJW2QdVCraSQw3cy2ZsX3qmOZ96xJ8nNEV+DDrAKJrdIJ\neDpwIEB7qThfCSExPQyMNLMbMw6nIsxsmJnVhdqnzwLfN7N/ZR1XBTSRXKdHUh+gM/BBphGtvs6s\n+M1yIbA2sFZ24VTcM5KGhccHkOxMXBMqfQlipYrzFT5/VkaT/Fo0RlLuWvABZrY0w5hcC8zsPkl7\nSZpFMsA41db8ey0vBm6QNI0k+Z5jZtVQQSn3fTkbmBhG9XOBO7MLKS6/D9g55zLiBXSccy4jnoCd\ncy4jnoCdcy4jnoCdcy4jnoCdcy4jnoCdcy4jnoCdcy4jnoCdcy4j/x9cG+OSS8WT9AAAAABJRU5E\nrkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Пример 4.5.2\n", "\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "dat = np.random.random(200).reshape(20,10) # создаём матрицу значений\n", "\n", "N = 10\n", "# Список цветов в HEX формате\n", "cpool = [ '#bd2309', '#bbb12d', '#1480fa', '#14fa2f', '#000000',\n", " '#faf214', '#2edfea', '#ea2ec4', '#ea2e40', '#cdcdcd',\n", " '#577a4d', '#2e46c0', '#f59422', '#219774', '#8086d9' ]\n", "\n", "# Создание дискретных colormap\n", "cmap1 = mpl.colors.ListedColormap(['r','orange','y','g','c','b','violet'], 'indexed') # 7 цветов\n", "cmap2 = mpl.colors.ListedColormap(cpool[5:5+N], 'indexed') # 10 цветов\n", "\n", "fig, axes= plt.subplots(nrows=2, ncols=1, sharex=True)\n", "\n", "cmaps = [cmap1, cmap2]\n", "\n", "for i, ax in enumerate(fig.axes):\n", " cf = ax.pcolor(dat, cmap=cmaps[i]) \n", " if(i == 0):\n", " fig.colorbar(cf, ax=ax, ticks=np.linspace(0, 1, 7+1))\n", " else:\n", " fig.colorbar(cf, ax=ax)\n", " \n", "plt.suptitle(u'Создание дискретных цветовых палитр')\n", "\n", "save('pic_4_5_2', fmt='png')\n", "save('pic_4_5_2', fmt='pdf')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Автор: Шабанов Павел Александрович\n", "\n", "E-mail: pa.shabanov@gmail.com\n", "\n", "## Научная графика в Python\n", "\n", "### Оглавление\n", "\n", "+ [Глава 1 Библиотека matplotlib. Pyplot](http://nbviewer.ipython.org/github/whitehorn/Scientific_graphics_in_python/blob/master/P1 Chapter 1 Pyplot.ipynb)\n", "\n", "+ [Глава 2 Основные графические команды](http://nbviewer.ipython.org/github/whitehorn/Scientific_graphics_in_python/blob/master/P1 Chapter 2 Main graphical commands.ipynb)\n", "\n", "+ [Глава 3 Работа с текстом и шрифтами](http://nbviewer.ipython.org/github/whitehorn/Scientific_graphics_in_python/blob/master/P1 Chapter 3 Text and Fonts.ipynb)\n", "\n", "> + [Глава 4 Цвет и цветовая палитра](http://nbviewer.ipython.org/github/whitehorn/Scientific_graphics_in_python/blob/master/P1 Chapter 4 Color.ipynb)\n", "\n", "**Часть II Структура рисунка в matplotlib**\n", "\n", "+ [Глава 5 Рисунок](http://nbviewer.ipython.org/github/whitehorn/Scientific_graphics_in_python/blob/master/P2 Chapter 5 Figure container.ipynb)\n", "\n", "+ [Глава 6 Область рисования](http://nbviewer.ipython.org/github/whitehorn/Scientific_graphics_in_python/blob/master/P2 Chapter 6 Axes container.ipynb)\n", "\n", "+ [Глава 7 Мультиоконные рисунки](http://nbviewer.ipython.org/github/whitehorn/Scientific_graphics_in_python/blob/master/P2 Chapter 7 Subplots.ipynb)\n", "\n", "+ [Глава 8 Координатные оси](http://nbviewer.ipython.org/github/whitehorn/Scientific_graphics_in_python/blob/master/P2 Chapter 8 Axis container.ipynb)\n", "\n", "+ [Глава 9 Деления координатных осей](http://nbviewer.ipython.org/github/whitehorn/Scientific_graphics_in_python/blob/master/P2 Chapter 9 Ticks container.ipynb)\n", "\n", "**Часть III Специальные элементы рисунка в matplotlib**\n", "\n", "+ [Глава 10 Особенности координатных осей](http://nbviewer.ipython.org/github/whitehorn/Scientific_graphics_in_python/blob/master/P3 Chapter 10 Twinx and log scale.ipynb)\n", "\n", "+ [Глава 11 Графики в полярной системе координат](http://nbviewer.ipython.org/github/whitehorn/Scientific_graphics_in_python/blob/master/P3 Chapter 11 Polar plots.ipynb) \n", "\n", "+ [Глава 12 Легенда](http://nbviewer.ipython.org/github/whitehorn/Scientific_graphics_in_python/blob/master/P3 Chapter 12 Legends.ipynb)\n", "\n", "+ [Глава 13 Цветовая шкала](http://nbviewer.ipython.org/github/whitehorn/Scientific_graphics_in_python/blob/master/P3 Chapter 13 Colorbar.ipynb)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python [default]", "language": "python", "name": "python2" }, "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 }