{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%load_ext autoreload\n", "%autoreload 2" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import uibcdf_tools as uibcdf_tools\n", "import numpy as np\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Color maps\n", "\n", "## UIBCDF Color Palettes\n", "\n", "The UIBCDF color palettes are defined to make the color chosen easy at the time of creating a plot or a figure. At the same time using the palettes imprints a recognizable mark to figures, slides, posters and papers.\n", "\n", "Every palette is made of 16 colors: \"light_red\", \"red\", \"dark_red\", \"light_green\", \"green\", \"dark_green\", \"light_blue\", \"blue\", \"dark_blue\", \"light_yellow\", \"yellow\", \"dark_yellow\", \"light_orange\", \"orange\", \"dark_orange\", \"light_purple\", \"purple\", \"dark_purple\", \"light_brown\", \"brown\", \"dark_brown\", \"light_gray\", \"gray\", \"dark_gray\" and \"white\".\n", "\n", "Although the purpose of this module is having predefined color palettes, a customized palette can be created just with a dictionary where the 16 colors are defined in hexadecimal color code. The webpages [coolors.co](https://coolors.co/) and [colormind.io](http://colormind.io/) can be used to choose a new color palette." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "my_colors = {\n", " 'dark_red' : '#9B1C1C',\n", " 'red' : '#D62828',\n", " 'light_red' : '#E98686',\n", " 'dark_green' : '#384733',\n", " 'green' : '#77966D',\n", " 'light_green' : '#9CB295',\n", " 'dark_blue' : '#00283D',\n", " 'blue' : '#006AA3',\n", " 'light_blue' : '#85D4FF',\n", " 'dark_yellow' : '#C88304',\n", " 'yellow' : '#FBAF23',\n", " 'light_yellow' : '#FCCC73',\n", " 'dark_orange' : '#C92E03',\n", " 'orange' : '#F13704',\n", " 'light_orange' : '#FC7753',\n", " 'dark_purple' : '#341E24',\n", " 'purple' : '#8E5263',\n", " 'light_purple' : '#D9BDC5',\n", " 'dark_brown' : '#261702',\n", " 'brown' : '#4C2E05',\n", " 'light_brown' : '#865209',\n", " 'dark_gray' : '#3E3C3D',\n", " 'gray' : '#828783',\n", " 'light_gray' : '#B6B9B7',\n", " 'white' : '#FBFFFE'\n", "}" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "my_palette = uibcdf_tools.colors.Palette(my_colors)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Palette_1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "At this time there is only a color palette predefined named 'Palette_1':" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "palette = uibcdf_tools.colors.Palette_1()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Colors are storaged in a dictionary where color names are the keys:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'dark_red': '#9B1C1C',\n", " 'red': '#D62828',\n", " 'light_red': '#E98686',\n", " 'dark_green': '#384733',\n", " 'green': '#77966D',\n", " 'light_green': '#9CB295',\n", " 'dark_blue': '#00283D',\n", " 'blue': '#006AA3',\n", " 'light_blue': '#85D4FF',\n", " 'dark_yellow': '#C88304',\n", " 'yellow': '#FBAF23',\n", " 'light_yellow': '#FCCC73',\n", " 'dark_orange': '#C92E03',\n", " 'orange': '#F13704',\n", " 'light_orange': '#FC7753',\n", " 'dark_purple': '#341E24',\n", " 'purple': '#8E5263',\n", " 'light_purple': '#D9BDC5',\n", " 'dark_brown': '#261702',\n", " 'brown': '#4C2E05',\n", " 'light_brown': '#865209',\n", " 'dark_gray': '#3E3C3D',\n", " 'gray': '#828783',\n", " 'light_gray': '#B6B9B7',\n", " 'white': '#FBFFFE'}" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "palette.color" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Every palette has two methods to get the RGB or hexadecimal code of each color:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.8392156862745098, 0.1568627450980392, 0.1568627450980392)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "palette.rgb('red')" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'#D62828'" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "palette.hex('red')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lets see how this palette looks:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "palette = uibcdf_tools.colors.Palette_1()\n", "\n", "color_names = ['red', 'green', 'blue', 'yellow', 'orange', 'purple', 'brown', 'gray']\n", "color_place = [[0,0], [0,1], [0,2], [1,0], [1,1], [1,2], [2,0], [2,1]]\n", "\n", "fig, axes= plt.subplots(3,3,figsize=(18, 3), constrained_layout=True)\n", "\n", "fig.suptitle('Palette_1', fontsize=16)\n", "\n", "for name, p in zip(color_names, color_place):\n", " cmap = mpl.colors.ListedColormap([palette.rgb('light_'+name), palette.rgb(name), palette.rgb('dark_'+name)])\n", " cbar = fig.colorbar(mpl.cm.ScalarMappable(cmap=cmap), cax=axes[p[0],p[1]], orientation='horizontal', label=name)\n", " cbar.set_ticks([])\n", "\n", "cmap = mpl.colors.ListedColormap([palette.rgb('white')])\n", "cbar = fig.colorbar(mpl.cm.ScalarMappable(cmap=cmap), cax=axes[2,2], orientation='horizontal', label='white')\n", "cbar.set_ticks([])\n", " \n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Color maps\n", "\n", "In addition to having color palettes predefined, color gradients built as `cmap` objects from matplotlib are also available in this module. These gradients depend on the color palette used. Lets show how they work with 'Palette_1':" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "palette = uibcdf_tools.colors.Palette_1()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "cmap = uibcdf_tools.matplotlib.color_maps.get_cmap('red_white_blue', palette)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The new object `cmap` gives an RGBA color code to each float number in the range [0.0, 1.0]" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.9143252595155709, 0.5933102652825836, 0.591280276816609, 1.0)" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cmap(0.26)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This way our color map can already be used in any matplotlib method accepting cmaps:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x_coors = np.random.random(1000)\n", "y_coors = np.random.random(1000)\n", "sizes = 10.0*np.random.random(1000)\n", "color_value = np.random.random(1000)\n", "\n", "fig, ax = plt.subplots()\n", "sct = ax.scatter(x_coors, y_coors, s=sizes, c=color_value, cmap=cmap)\n", "fig.colorbar(sct, ax=ax)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lets then show the `cmap` gradient corresponding to 'Palette_1' with name 'red_white_blue': " ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(6, 1))\n", "fig.subplots_adjust(bottom=0.5)\n", "\n", "cmap = uibcdf_tools.matplotlib.color_maps.get_cmap('red_white_blue', palette)\n", "norm = mpl.colors.Normalize(vmin=0.0, vmax=1.0)\n", "\n", "fig.colorbar(mpl.cm.ScalarMappable(norm=norm, cmap=cmap),\n", " cax=ax, orientation='horizontal', label='red_white_blue')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The method `uibcdf_tools.matplotlib.color_maps.get_cmap` accepts a third input argument: `tone`. This argument takes the value \"None\" by default, but it can take the string \"light\" or \"dark\" to produce the color scales corresponding to the light or dark colors (red and blue in this case); " ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(6, 1))\n", "fig.subplots_adjust(bottom=0.5)\n", "\n", "cmap = uibcdf_tools.matplotlib.color_maps.get_cmap('red_white_blue', palette, tone='dark')\n", "norm = mpl.colors.Normalize(vmin=0.0, vmax=1.0)\n", "\n", "fig.colorbar(mpl.cm.ScalarMappable(norm=norm, cmap=cmap),\n", " cax=ax, orientation='horizontal', label='red_white_blue (tone=\"dark\")')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lets see all cmaps predefined with 'Palette_1':" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "n_bars = len(uibcdf_tools.matplotlib.color_maps.cmap_names)\n", "\n", "fig, axes = plt.subplots(n_bars, 3, figsize=(18, n_bars), constrained_layout=True)\n", "fig.suptitle('Palette_1', fontsize=16)\n", "\n", "ax_ind = 0\n", "for name in uibcdf_tools.matplotlib.color_maps.cmap_names:\n", "\n", " cmap = uibcdf_tools.matplotlib.color_maps.get_cmap(name, palette, tone='light')\n", " fig.colorbar(mpl.cm.ScalarMappable(cmap=cmap), cax=axes[ax_ind, 0], orientation='horizontal',\n", " label='light')\n", "\n", " cmap = uibcdf_tools.matplotlib.color_maps.get_cmap(name, palette)\n", " fig.colorbar(mpl.cm.ScalarMappable(cmap=cmap), cax=axes[ax_ind, 1], orientation='horizontal',\n", " label=name)\n", "\n", " cmap = uibcdf_tools.matplotlib.color_maps.get_cmap(name, palette, tone='dark')\n", " fig.colorbar(mpl.cm.ScalarMappable(cmap=cmap), cax=axes[ax_ind, 2], orientation='horizontal',\n", " label='dark')\n", " ax_ind+=1\n", " \n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Given a color palette, a new `cmap` can be easily defined with the help of the method `uibcdf_tools.matplotlib.color_maps.make_cmap_linear`. A list or tuple of pairs value-color is needed:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "name = 'customize'\n", "values = [[0.0,'light_yellow'], [0.33,'light_orange'], [0.66,'red'], [1.0,'dark_purple']]\n", "cmap = uibcdf_tools.matplotlib.color_maps.make_cmap_linear('customize', palette, values)\n", "\n", "fig, ax = plt.subplots(figsize=(18, 1), constrained_layout=True)\n", "fig.colorbar(mpl.cm.ScalarMappable(cmap=cmap), cax=ax, orientation='horizontal', label='customize')\n", " \n", "plt.show()" ] } ], "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.7.7" } }, "nbformat": 4, "nbformat_minor": 4 }