{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Create Your Own Colormap\n", "\n", "- Detailed reference document of the VCS colormap can be found at [here](https://uvcdat.llnl.gov/docs/vcs/misc/colormap.html).\n", "- Let's create your own VCS colormap.\n", "- [Download ipynb file](#Color_map_create_own.ipynb)\n", "\n", "\n", "
Tutorial written by Jiwoo Lee (Oct. 2017)
\n", "
Colormap for example 4 provided by Karl Taylor
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Contents\n", "\n", "- [Import modules](#modules)\n", "- [Prepare a dummy array](#dummy)\n", "- [Create a colormap](#create)\n", "- [Alternative way of creating own colormaps](#alter)\n", "- [Define name and colors for your own colormap](#owncm)\n", " - [Example 1](#ex1)\n", " - [Example 2](#ex2)\n", " - [Example 3](#ex3)\n", " - [Example 4](#ex4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Import modules\n", "([back to top](#top))" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import vcs\n", "import MV2\n", "from matplotlib.colors import LinearSegmentedColormap" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Prepare a dummy array\n", "([back to top](#top))\n", "- Here I prepare a dummy 2D array (240 x 2), which is being used in this tutorial only for the visualization purpose." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "a = []\n", "\n", "num_levels = 240\n", "\n", "for i in range(0,num_levels):\n", " a.append(i/float(num_levels))\n", "\n", "for i in range(0,num_levels):\n", " a.append(i/float(num_levels))\n", "\n", "a = MV2.array(a)\n", "a = MV2.reshape(a, (-1,num_levels))\n", "\n", "a.id = 'dummy'\n", "\n", "v = vcs.init()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Create a colormap\n", "([back to top](#top))\n", "- List of VCS default colormaps can be shown using `vcs.listelements('colormap')`" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['AMIP',\n", " 'NCAR',\n", " 'bl_to_darkred',\n", " 'bl_to_drkorang',\n", " 'blends',\n", " 'blue2darkorange',\n", " 'blue2darkred',\n", " 'blue2green',\n", " 'blue2grey',\n", " 'blue2orange',\n", " 'blue2orange2red',\n", " 'blue_to_grey',\n", " 'blue_to_grn',\n", " 'blue_to_orange',\n", " 'blue_to_orgred',\n", " 'brown2blue',\n", " 'brown_to_blue',\n", " 'categorical',\n", " 'classic',\n", " 'default',\n", " 'green2magenta',\n", " 'grn_to_magenta',\n", " 'inferno',\n", " 'lightblue2darkblue',\n", " 'ltbl_to_drkbl',\n", " 'magma',\n", " 'plasma',\n", " 'rainbow',\n", " 'rainbow_no_grn',\n", " 'rainbownogreen',\n", " 'sequential',\n", " 'viridis',\n", " 'white2blue',\n", " 'white2green',\n", " 'white2magenta',\n", " 'white2red',\n", " 'white2yellow',\n", " 'white_to_blue',\n", " 'white_to_green',\n", " 'white_to_magenta',\n", " 'white_to_red',\n", " 'white_to_yellow']" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vcs.listelements('colormap')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- You can create your own colormap by using [`createcolormap`](https://uvcdat.llnl.gov/docs/vcs/Canvas.html?highlight=createcolormap#vcs.Canvas.Canvas.createcolormap)\n", "- Let's make one named 'my_cmap'. Now you will see that one is included in the list of available colormaps\n", "- Note that 'my_cmap' colormap is copy of the default colormap at the begining" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['AMIP',\n", " 'NCAR',\n", " 'bl_to_darkred',\n", " 'bl_to_drkorang',\n", " 'blends',\n", " 'blue2darkorange',\n", " 'blue2darkred',\n", " 'blue2green',\n", " 'blue2grey',\n", " 'blue2orange',\n", " 'blue2orange2red',\n", " 'blue_to_grey',\n", " 'blue_to_grn',\n", " 'blue_to_orange',\n", " 'blue_to_orgred',\n", " 'brown2blue',\n", " 'brown_to_blue',\n", " 'categorical',\n", " 'classic',\n", " 'default',\n", " 'green2magenta',\n", " 'grn_to_magenta',\n", " 'inferno',\n", " 'lightblue2darkblue',\n", " 'ltbl_to_drkbl',\n", " 'magma',\n", " 'my_cmap',\n", " 'plasma',\n", " 'rainbow',\n", " 'rainbow_no_grn',\n", " 'rainbownogreen',\n", " 'sequential',\n", " 'viridis',\n", " 'white2blue',\n", " 'white2green',\n", " 'white2magenta',\n", " 'white2red',\n", " 'white2yellow',\n", " 'white_to_blue',\n", " 'white_to_green',\n", " 'white_to_magenta',\n", " 'white_to_red',\n", " 'white_to_yellow']" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v.createcolormap('my_cmap')\n", "vcs.listelements('colormap')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Set colormap for the canvas by using [`setcolormap`](https://uvcdat.llnl.gov/docs/vcs/Canvas.html?highlight=setcolormap#vcs.Canvas.Canvas.setcolormap) of VCS" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "v.setcolormap('my_cmap')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Let's make the colormap palette as pure white first\n", "- Note that 'my_cmap' colormap is copy of the default colormap at the beginning" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "for i in range(0,240):\n", " v.setcolorcell(i,100,100,100)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Assign colors with index number to 'my_cmap' using [`setcolormap`](https://uvcdat.llnl.gov/docs/vcs/Canvas.html?highlight=setcolorcell#vcs.Canvas.Canvas.setcolorcell) of VCS\n", "- Below example colors are given from [here](http://www.december.com/html/spec/color16codes.html)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "v.setcolorcell(0,0,0,0) # black\n", "v.setcolorcell(1,50,50,50) # gray\n", "v.setcolorcell(2,75,75,75) # silver\n", "v.setcolorcell(3,100,100,100) # white\n", "v.setcolorcell(4,50,0,0) # maroon\n", "v.setcolorcell(5,100,0,0) # red\n", "v.setcolorcell(6,50,50,0) # olive\n", "v.setcolorcell(7,100,100,0) # yellow\n", "v.setcolorcell(8,0,50,0) # green\n", "v.setcolorcell(9,0,100,0) # lime\n", "v.setcolorcell(10,0,50,50) # teal\n", "v.setcolorcell(11,0,100,100) # aqua\n", "v.setcolorcell(12,0,0,50) # navy\n", "v.setcolorcell(13,0,0,100) # blue\n", "v.setcolorcell(14,50,0,50) # purple\n", "v.setcolorcell(15,100,0,100) # fuchsia" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Use `box.color_1` and `box.color_2` of `boxfill` to set starting and ending colors" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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2trAwEBtOyQk5OrVq9p2U1PT2rVrly1bptMH+mez7Ynr06fPPffcc/r06dmzZ6uqqqUfoXvK2j75bfccOnSoqakpJSXl9ttvX7RoUVNTU1xcXEJCwpw5c+bNmzdlypSoqKiePXs+9thj69aty8nJycrKEkK03SM5nbOpfWPxd7nuAMA4fBOAhBBLlizZtGmT3W5//fXX+/fvn5CQoO3ftGlTVFRUVlZWcHDwY4891tDQ8NZbb7344ovR0dFr164dMWLE008/3fxL55AhQ5YtW3bXXXetWLHilVdecfdvtfyiMSGE3W7PysrKz8/v3bu3ticrK2vNmjXFxcXFxcUvvvjifffdp+1/++23LRbLtGnTdPpAuD+bLk/cxIkT586dO2zYsF69ej3yyCMuJ2x1yto++W339O3bd+PGjZ9//vmBAwdKSko2btx48uTJ8vLykSNHDh069MiRI2fOnNFmS0tLW7hw4datW8+ePetuj8zcnc1m3l13AGAoPngTtGb48OG33nrr1q1bN27c+PDDDzfvr6ysvHTp0qZNm7SH06ZN69u37759+2699dbmPoMGDdIWYIKCgrQ9YWFhly5dajG9MJvNTqdT225oaGj+5lQhxPLlywcMGDB79uzjx48LIZxO58yZM5uaml5++eWdO3dqX8qh9VyzZs3SpUu1+ynu+kDonk2XJ+7HP/5xfn5+cnKy9txqdE6Zyye/1R6r1ZqSkmI2m81mc1pa2p49e7755puUlJS8vDzxz/evTJo0KTg4eNCgQbm5uW+99VZhYeHw4cNb7dHeFiYzd2ezmXfXHQAYis9WgIQQDz300C9+8Yuvv/665WrKhAkTrly58otf/OLZZ59dunRpSUlJ//79x48fv2vXLu39GZcuXSosLGw7W6vfNePj461Wq7ZttVrj4uKEEEVFRbW1tQ6HIyQkZO7cudq9Le1G2KxZszIzMwMCAjZs2KCNKi4uPnHiRMvvUm3bB81cnk2XJ+7q1asPPvjgihUrnnnmmWPHjjV31jllwtWT32rPG2+88fOf/1xrKi4uHjx4cEhIiLaio6rqmTNnevXqtW3btieffFIIUV9ff/r06aioqLZ7BNycTZeu57oDAAPy2QqQEGLWrFnLli3LysoKCAho3nn33Xfv378/MTFxzJgxH3744dKlSwcMGDBgwICjR4+OHj16/Pjxe/fu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\n", "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "box = v.createboxfill()\n", "box.color_1 = 0\n", "box.color_2 = 15\n", "box.colormap = 'my_cmap'\n", "v.plot(a,box)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Alternative way of creating own colormaps\n", "([back to top](#top))\n", "\n", "- Alternative way of creating your own VCS colormap uses combined capability of UV-CDAT's VCS and [Matplotlib](https://matplotlib.org/index.html).\n", "- Below simply written function receives name of colormap (`cmap_name` as string), and list of colors (`colors` as list of strings or tuples). User can define `colors` using either (1) [named color of Matplotlib](https://matplotlib.org/examples/color/named_colors.html) or (2) tuples of R, G, B numbers (0-1).\n", "- [`LinearSegmentedColormap`](https://matplotlib.org/devdocs/api/_as_gen/matplotlib.colors.LinearSegmentedColormap.html) of [`matplotlib.colors`](https://matplotlib.org/api/colors_api.html), imported from the [begining](#module), stretchs given colors with smooth transition.\n", "- [`matplotlib2vcs`](https://uvcdat.llnl.gov/docs/vcs/misc/colors.html) of `vcs.colors` convert given Matplotlib colormap to VCS colormap." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "def CreateOwnColormap(cmap_name, colors):\n", " \n", " # Create a Matplotlib colomap\n", " cm = LinearSegmentedColormap.from_list(cmap_name, colors, N=240)\n", " \n", " # Convert Matplotlib colormap to VCS one\n", " vcs_cmap = vcs.colors.matplotlib2vcs(cm, vcs_name=cmap_name)\n", " \n", " return vcs_cmap" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Define name and colors for your own colormap\n", "([back to top](#top))\n", "\n", "- For colors, use list of either (1) [named color of Matplotlib](https://matplotlib.org/examples/color/named_colors.html) or (2) tuples of R, G, B numbers (0-1) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example 1\n", "([back to top](#top))\n", "\n", "- Define colors by using [named color of Matplotlib](https://matplotlib.org/examples/color/named_colors.html)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Define my own colormap (name and sequentially varying colors)\n", "cmap_name = 'cmap1'\n", "colors = ['white','red','orange',\n", " 'yellow','green','blue','violet',\n", " 'purple','black']\n", "CreateOwnColormap(cmap_name, colors)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Visualize example 1" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAwAAAAJQCAIAAAC2GpSaAAAgAElEQVR4Xu3de0BU95338d8cBgbRwiAKGsgimBGKqEh0Y4wbG1LRZIN4iWlqVPKkmy1NtrkY0mR3bawSn7ipJCZuLjWXDaB9cqWLVjYtcRNqG4mJDrVTvNQoiYZ4IaPCCMgwM88fB8aRuZkJOIf83q+/zvxu8z2cOfjxnAPoXC6XAAAAkIkSbAAAAMC3DQEIAABIhwAEAACkQwACAADSIQABAADpEIAAAIB0CEAAAEA6BCAAACAdAhAAAJAOAQgAAEiHAAQAAKRDAAIAANIhAAEAAOkQgAAAgHQIQAAAQDoEIAAAIB0CEAAAkA4BCAAASIcABAAApEMAAgAA0iEAAQAA6RCAAACAdAhAAABAOgQgAAAgHQIQAACQDgEIAABIhwAEAACkQwACAADSIQABAADpEIAAAIB0CEAAAEA6BCAAACAdAhAAAJAOAQgAAEiHAAQAAKRDAAIAANIhAAEAAOkQgAAAgHQIQAAAQDrhD0CbNm3asGFDsFEAAAD9RudyuYKNGVgzZsw4fvz4oUOHgg0EAADoH+G5AvTll18uXLjw6quvnjdvXltbmxCiqqrqnnvuUXvff//9ZcuWVVVVLVy48Lrrrps+fXp1dfXjjz8+ZcqUgoKCkydPquMD9P7oRz+qqqpSVystLX3yySf9FAIAAGQUhgD02WefjRkz5vDhww899NDJkyf37t0rhKipqdm8ebM64IMPPnjjjTdqamqqqqqys7Nzc3Pnz59fWlq6bNmypqamsWPHOp3OwL379u27//77hRDt7e2/+MUvIiMjAxUEAAAkow82oP/9y7/8y7Bhw8xmsxBi8eLFycnJ/kYOHTr0V7/6lRDijTfemDx58n333bdkyZKEhIRdu3YF7n3iiSe+973vWSyWF198MTIy8sEHH/T3FgAAQEJhCEBffPHFqFGj3C9TUlK++uorne7C00hOp1PdiIiIUDf0er3BYBBCDB8+XAhhtVoD9958883Dhw9fvnx5fX39rbfeKgAAADyE4RbYzTfffODAgf379wshPvvsM/VSUHp6+rlz506cOCGE+MMf/hBkiUuwbNmy9957z2azrV+/PthYAAAglzAEoMcff/zmm2+eOHFiRkaGyWRSFEUI8fDDD6enp48ZMyY1NfWPf/xjsDWCKy0tFUJcffXVI0aMCDYWAADIJWw/Bn/mzJnGxsbMzEz1vpXq008/bW1tnTx5coCJl2j37t1Tpkypq6u7/vrrg40FAAByCVsAGmiFhYUNDQ2fffZZsIEAAEA639oABAAA4E8YngECAAAILwIQAACQThgCkMViKSoqqq2t9WxcsWLFz372M39TQlNbW1tQUFBYWFhXV+dzwNatW4uKitTt7du3z507d968efX19UKI999/v8jDRx995D0Gor+PZoBD5v3F92554okn3IfMZrMJIcxm87x58+bPn6/+2gUhRH19/dy5c2+//Xb1dy74bJFW4KNZW1u7cuVKP1MvCHreAYAmuC675557TghxxRVXuFv27NkjhDAYDAFmfV2vvfaaoihLlixZtGiRoij//d//3WfAV199pf6JDPfgZcuW3XbbbYqibNu2zWw2l5aWlpaWlpSUCCHeeust7zG+3lY6/Xg0Axwy7y++z8NhMBhuuukm9cB1dHR89dVXERERs2bNmjZtmsFgsNvtZ8+ejYiImD179lVXXZWUlORyubxbZBb4aD700EMpKSn+Z7tcl3DeAYBGhCcA6XQ6nU63c+dOteW6665TFMX9T2ZTU9PcuXNzc3MXLVp06tQptfHYsWMLFixQ//LXY489tmbNmnfeeWfp0qX5+flTpkx57LHH+rzL2LFjp0yZom5nZGTk5ub2GZCbmztkyBA1AKWkpNxwww1q+4QJE7KystzDFixYYDQaA4+RWdCj6X3gfvKTnzz33HMul+t3v/vdvHnz7Ha7OjLAIfP+4nu3nD59WgixZ88eh8Ohtm/ZskUI0dHR0dTUJIQwm82HDx++5ZZbHA7HCy+8oP7yce8WmQU+mu+8885PfvKTb3jeAYBGhOEWmBBCp9ONHTv2gQceEEK0trbu3LnzmmuuUbuOHj1qMplOnTr10EMP/fWvf/27v/u7M2fOHD16ND09/fDhww8++OCpU6dWr169efPmmpqayspKg8GwbNmytWvXzp8/3/Mt2traUlJS1O3k5OSWlhbP3hdffLGhoWHdunXqy66uLjUMCSFiY2M7Ojrc7Vu2bLnvvvsCjEHgo+l94Ewm009/+tOPP/54/vz5LpdLr+/5eywBDpn3F9+7pbq6Wggxffr0mJiY8ePHd3V1zZ49OzY21mQyXXPNNSNHjszJyUlLS9u6deutt976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e+65YcOG+VoAAAAgbHquAP3hD38YPXq0EMJkMul0ukmTJq1bt+6BBx7wOae8vHzOnDlGo9FgMOTl5VVXV3v2rlq16tSpUyaTyWQy6fUhBiwAAICB0xNQHnnkkQkTJlRVVTU3N//mN79ZunTp/v37MzMzfc4pLS3Nzc2trKwUQmRmZq5evbqwsFDtOnPmzPnz59esWTNp0iRF4f4aAADQop6MEhsbu3fv3mXLli1evPjUqVPnz5+PjIz0N6etrU39rYlCiOTk5JaWFneXejVo+vTpMTEx48eP7+rq8r0EAABA+PQEoM2bN48dO3batGnPPffcG2+8sWDBgrFjxwaeqdLpdJ4vJ06c+MMf/vDs2bMnT55sampasmSJv4kAAADhol+5cuWrr75aUFBgsViEECNHjgw2RSiK4v5LYXa73fNBH7PZXFxcHBUVFRUVNW3atPr6ej9rAAAAhI1+xowZ586dmzZtmuftKpfLFWBOamqq+69kNDY25uTkCCHKysqKioqef/75U6dOffbZZ0KIhoaGyZMn97lEBAAA0Id3WggcRb45/axZs2bNmjV//nyXy1VVVaUoSm1t7cKFC1955RV/cyorKydPnpyUlNTd3e1wOCoqKoQQJSUl3/3ud996663JkyePHDmyu7tbUZTXX399xIgRfaYTiQAAgKeBjjveeu5e/eQnP5k/f/7IkSOvvfbampqaG264IcAck8lks9ksFouiKFlZWWqju/QzZ840NjYKIdxdAAAAmtITgPLz8//3f/93+vTp27Ztmzlz5vbt2wNPE0JkZ2f76yL6AAAALev5KbDnn39++vTpkydPXrt27YcffnjllVcGngYAADB49QQgi8Wybt26Tz755JFHHjl27FhcXFzgaQAAAINXzy2wlJSUl19++eWXXw48GgAA4FugJwB1dHQ0NjYmJSWlpKTs3bs38BwAAIBBrecW2F/+8pd/+Id/OH78+CeffPLpp5/qdLozZ84EngkAADBI9QSgzz///N5771W3r7zyyjFjxhw4cMD/LAAAgEGsJwCNGTPmySefVLf3799/5MiR8ePH+58FAAAwiPU8A7Rhw4b09PSEhIRRo0YdOHAgPz9/2LBhgWcCAAAMUj1XgJKTkw8ePDht2rSoqKiSkpKamprA0wAAAAavC3/IPTU1ddu2bQGGAgAAfDsowQYAAAB82xCAAACAdAhAAABAOgQgAAAgHQIQAACQDgEIAABIhwAEAACkQwACAADSIQABAADpEIAAAIB0CEAAAEA6BCAAACAdAhAAAJAOAQgAAEiHAAQAAKRDAAIAANIJMQDV1tYWFBQUFhbW1dX5HLB169aioiKfXQAAAOEVSgAqLy+fM2eO0Wg0GAx5eXnV1dV9Blit1oULF1ZUVPicDgAAEF6hBKDS0tLc3NzKyso333zTZDKtXr26z4BZs2bp9XqfcwEAAMIulADU1taWkpKibicnJ7e0tHj2vvjiiw0NDevWrfM1FQAAIPxCCUCedDqd50ur1Xr//ffffffdGRkZ/qYAAACEVygBSFEUp9Opbtvtds+7Xfn5+bGxsevXr7fb7UKI7u5u30sAAACETyhP6qSmpprNZnW7sbExJydHCFFWVlZUVGS322NiYjIyMjo7O4UQkZGRgRYCAADwuqGkcrlc3o39JZQAVFlZOXny5KSkpO7ubofDof60V0lJyXe/+90///nP6pjt27d///vf91m6z50EAADSGtCs41MoAchkMtlsNovFoihKVlaW2tin9BtvvPHy7wwAAMClCCUAqbKzs4MNAQAA0KJQHoIGAAAY1AhAAABAOgQgAAAgHQIQAACQDgEIAABIhwAEAACkQwACAADSIQABAADpEIAAAIB0CEAAAEA6BCAAACAdAhAAAJAOAQgAAEiHAAQAAKRDAAIAANIhAAEAAOkQgAAAgHQIQAAAQDoEIAAAIB0CEAAAkA4BCAAASIcABAAApEMAAgAA0iEAAQAA6RCAAACAdAhAAABAOiEGoNra2oKCgsLCwrq6uj5d9fX1c+fOvf3220+cOOFzLgAAQHiFEoDKy8vnzJljNBoNBkNeXl51dbW7q7W1dcaMGV1dXbt37540aVKARQAAAMIllABUWlqam5tbWVn55ptvmkym1atXu7u++uqrm266qaam5qGHHjp58mSARQAAAMJFH2yAD21tbRMmTFC3k5OTDx065O5KS0vbunXrggULampqpk6d6mcBAACAcAolAHnS6XTejcuXL9fpdNXV1Y2NjVlZWd4DAAAAwiiUW2CKojidTnXbbrfr9RdS1KZNm2pra2fMmPHOO+8MGzZs7dq1Oi9+VgUAAJK6/GkhlACUmppqNpvV7cbGxvT0dCFEWVlZS0vLs88+e9dddwkhWltbz507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\n", "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "box = v.createboxfill()\n", "box.color_1 = 0\n", "box.color_2 = 239\n", "\n", "box.colormap = 'cmap1'\n", "v.plot(a,box)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example 2\n", "([back to top](#top))\n", "\n", "- Define colors by using list of tuples of R, G, B numbers (0-1) " ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cmap_name2 = 'cmap2'\n", "colors2 = [(1,0,0),(1,1,1),(0,0,1)] # red, white, blue\n", "CreateOwnColormap(cmap_name2, colors2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Visualize example 2" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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0BASEqIe9+3b98qVK+pxa2vrunXrVq5cqTEG2lfT88INGDDgnnvuOXXq1Ny5c51Op5p+hOYl83zwPVsOHTrU2tqampr67W9/e8mSJa2trQkJCUlJSfPmzVuwYMH06dNjYmL69ev36KOPrl+/Pi8vLycnRwjh2SI5jaupfmPxN3neAYB+BCcACSGWLVu2ZcsWm8326quvDh48OCkpSW3fsmVLTExMTk5OWFjYo48+2tzc/MYbb2zevDk2NnbdunVjxox5+umnXf/pHDFixMqVK++8884nn3zypZde8nVf7l80JoSw2Ww5OTkFBQU33XST2pKTk7N27drS0tLS0tLNmzffd999avubb75pNptnzJihMQbC99X0euGmTJkyf/78UaNG9e/ff/ny5V4XbHPJPB98z5aBAwdu2rTpk08+OXDgQFlZ2aZNm06cOFFVVTV27NiRI0cePnz49OnT6moZGRmLFy/etm3bmTNnfLXIzNfVdAnseQcAuhKEN0GrRo8efcstt2zbtm3Tpk0PP/ywq72mpubixYtbtmxRb86YMWPgwIH79u275ZZbXGOGDRumbsCEhoaqLRERERcvXnRbXhiNRofDoR43Nze7vjlVCLF69eohQ4bMnTv32LFjQgiHwzF79uzW1tYXX3yxuLhY/VIOdeTatWtXrFihvp7iawyE5tX0euG+973vFRQUTJs2TX1sVRqXzOuD36bFYrGkpqYajUaj0ZiRkbFnz54vv/wyNTV11apV4uv3r0ydOjUsLGzYsGH5+flvvPFGUVHR6NGj27SobwuTma+r6RLY8w4AdCVoO0BCiIceeugnP/nJF1984b6bMnny5MuXL//kJz959tlnV6xYUVZWNnjw4EmTJu3atUt9f8bFixeLioo8V2vzf83ExESLxaIeWyyWhIQEIURJSUlDQ4Pdbu/bt+/8+fPV17bUF8LmzJmTnZ3dvXv3jRs3qrNKS0uPHz/u/l2qnmPg4vVqer1wV65cefDBB5988slnnnnm6NGjrsEal0x4e/DbtLz22ms//vGP1a7S0tLhw4f37dtX3dFxOp2nT5/u37//9u3bn3jiCSFEU1PTqVOnYmJiPFsEfFxNr9rzvAMAHQraDpAQYs6cOStXrszJyenevbur8e67796/f39ycvKECRP+9re/rVixYsiQIUOGDDly5Mj48eMnTZq0d+9e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\n", "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v.clear()\n", "box.colormap = 'cmap2'\n", "v.plot(a,box)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example 3\n", "([back to top](#top))\n", "\n", "- Similar to example 1 but with more complicated set up. " ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cmap_name3 = 'cmap3'\n", "colors3 = ['white','lavender','royalblue','navy',\n", " 'darkviolet','darkred','tomato','darkorange',\n", " 'orange','yellow']\n", "CreateOwnColormap(cmap_name3, colors3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Visualize example 3" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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du1a9WFzc3NsbKy63bt376+++krddjgca9asWbFihcYYaB9N/wM3YMCA22677fjx47Nnz3a5XGr6EZqHzP+H79+yb98+h8ORm5v7/e9/f/HixQ6HIyMjIysra86cOfPnz58yZUpKSkqfPn3uv//+tWvXlpSUFBUVCSH8WySncTTVbyz+NucdAOhHZAKQEGLp0qUbN260Wq0vvfTS4MGDs7Ky1PaNGzempKQUFRXFx8fff//9drv91Vdfffrpp1NTU9esWXP99dc/+uijnn90Dh8+fMWKFTfffPPDDz/83HPPBXsu7y8aE0JYrdaioqLy8vL+/furLUVFRatXr66urq6urn766afvuOMOtf21114zmUzTpk3TGAMR/GgGPHATJ06cN2/eyJEj+/btu2zZsoAL+hwy/x++f8vAgQM3bNjw0Ucf7dmzp6amZsOGDUePHq2rqxs9evSIESMOHDhw4sQJdbX8/PxFixa9+OKLJ0+eDNYis2BH0yO88w4AdCUCL4JWjRo16pprrnnxxRc3bNhw7733etobGhrOnz+/ceNG9eG0adMGDhy4a9eua665xjNm6NCh6gWYuLg4taVfv37nz5/3Wl4YjUan06lu2+12zzenCiFWrlw5ZMiQ2bNnHz58WAjhdDpnzpzpcDieffbZbdu2qV/KoY5cvXr18uXL1fspwcZAaB7NgAfuhz/8YXl5+eTJk9WfrUrjkAX84fu0mM3m3Nxco9FoNBrz8/N37NjxxRdf5ObmlpWVCffrVyZNmhQfHz906NDS0tJXX321srJy1KhRPi3qy8JkFuxoeoR33gGArkTsCpAQ4p577vn5z3/++eefe19NmTBhwsWLF3/+858//vjjy5cvr6mpGTx48Pjx47dv366+PuP8+fOVlZX+q/n8WzMzM9NsNqvbZrM5IyNDCFFVVdXc3Gyz2Xr37j1v3jz13pZ6I2zWrFmFhYUxMTHr169XZ1VXVx85csT7u1T9x8Aj4NEMeOC++uqru+++++GHH37ssccOHTrkGaxxyESgH75Py8svv/yzn/1M7aqurh42bFjv3r3VKzoul+vEiRN9+/bdvHnzQw89JIRobW09fvx4SkqKf4tAkKMZUEfOOwDQoYhdARJCzJo1a8WKFUVFRTExMZ7GW2+9dffu3dnZ2TfeeOPf//735cuXDxkyZMiQIQcPHhw7duz4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bdpj9u3bt3Hjxk2bNmkPA4AwEIAARID6pQfaY+Li4qxW69KlS7WHAUAYrtx3gQGQx/nz53//+98fO3bsqquuuvrqq6Ojo5uamq666qqbbrrps88+e+utt37wgx8UFBQ0Nzc/+eSTZ8+eXbRo0eDBg30WGTx48A033BBoeQD4trgCBOAyO3fu3JgxY44cOTJ37tympqbp06e//vrrAwYMuO22244fPz579myXy/Xhhx9u2LDhv//7v3fs2NGzZ89ly5aFWhUALicCEIDL7Omnn05NTV2zZs3111//6KOP5uXlCSEmTpw4b968kSNH9u3b1xN3unXrdurUqfz8/D/96U+aSwLAZUYAAnCZNTQ0XHPNNZ6HQ4cOVTd++MMfNjU1TZ48Wf1qRiHEgw8+uHjx4sLCwrvuuivAQgDQaQhAAC6z8ePHb9++vampSQhx/vz5yspKIcRXX3119913P/zww4899tihQ4fUkY8//nhmZubzzz//4osvaq0IAJcbL4IGcJnNmDHj4MGDY8eOHT9+/M6dO9XrPQ888MDIkSN/+ctfGo3GwsLC4uJiIUSfPn3mzp2blJRUUlISalUAuJz4NngAncJms504caJfv37du3fXGPbll186HI7ExMRXX33Vu33UqFHp6enBZgHAt8QVIACdwmQypaWlhRol+vbtq27069fPuz02NjbQcAC4PLgCBAAApMOLoAEAgHQIQAAAQDoEIAAAIB0CEAAAkA4BCAAASIcABAAApEMAAgAA0iEAAQAA6RCAAACAdAhAAABAOgQgAAAgHQIQAACQTqd/G3xdXV1lZaXBYCgoKEhPT+9gl55plL1v3z6z2RwTEzN//vxg0/VGY3cOHjy4fft2RVFmzZo1aNCgYCvoisbu1NfXv/LKK926dVuwYEHPnj2DraArIc+RAwcOvP/++8XFxf5dOqSxO2+//XZ9fb26vWDBApPJFGgBfdE+OmfOnNm6devcuXO7ytfaB9udw4cPv/POO56Hubm5XeKvgcbRaWho2LJli6Ioc+fOTUxMDLaCrmjszqFDh9Su2267LS0tLdgKeqPxv8uQf/cul869AlRTU5OTkxMfH28ymbKzs2trazvSpWfaZcfFxVmt1qVLlwabrjcau7N79+5x48YlJCTYbLasrCyLxaKxjk5o7E5ra+uNN95ot9tramrmzJmjsYh+hDxH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\n", "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v.clear()\n", "box.colormap = 'cmap3'\n", "v.plot(a,box)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example 4\n", "([back to top](#top))\n", "\n", "- Similar to example 2 but with more complicated set up. " ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cmap_name4 = 'cmap4'\n", "\n", "colors4 = [(99,93,60),\n", " (99,80,40),\n", " (99,60,20),\n", " (99,40,11),\n", " (99,0,0),\n", " (51,0,0),\n", " (44,11,62),\n", " (0,40,99),\n", " (20,60,99),\n", " (40,80,99),\n", " (60,93,99),\n", " (80,99,99),\n", " ]\n", "\n", "colors4 = MV2.divide(colors4,100.) # Convert range 0-100 to 0-1\n", "\n", "CreateOwnColormap(cmap_name4, colors4)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAwAAAAJQCAIAAAC2GpSaAAAgAElEQVR4Xu3dfXzT9b3///cnSdNy0XJR2looFcqwPU44gNBiEYEdpAMqLSjzx2W1pxRhUhG0c9PvnMdzvHkc9DAcIErnBWOCF7gqeHbcVmdBZ1YQuSii5WoVWwJFLm3apEl+f3zaEJvkkxop+ZT34/7H9s77/Xq/8/7k09QnnySN4na7BQAAgEwMwQoAAACuNQQgAAAgHQIQAACQDgEIAABIhwAEAACkQwACAADSIQABAADpEIAAAIB0CEAAAEA6BCAAACAdAhAAAJAOAQgAAEiHAAQAAKRDAAIAANIhAAEAAOkQgAAAgHQIQAAAQDoEIAAAIB0CEAAAkA4BCAAASIcABAAApEMAAgAA0iEAAQAA6RCAAACAdAhAAABAOgQgAAAgHQIQAACQDgEIAABIhwAEAACkQwACAADSIQABAADpEIAAAIB0CEAAAEA6BCAAACAdAhAAAJAOAQgAAEiHAAQAAKRDAAIAANIhAAEAAOmEPwDt3r27oqIiWBUAAMAVYwpW0OHeeuutEydO3HbbbcEKAQAArozwBKCLFy+++OKLx48f79+///nz54UQ+/fv37dv35w5c4QQR44cKS8vHz169Pvvv2+1Wt1u95w5c7788ss///nPiYmJixYt6tat2/79+zVGX3zxxZEjRw4ZMkQI8b//+78RERETJ04MsicAACCNMLwEdu7cuVGjRh09enTu3LmnT5/+7W9/K4TYvXv3unXr1ILPPvts5cqVu3fvXr58eWpq6k033XTLLbc88MAD06ZNO3bs2MSJE91ut/ZodXX1f/zHfwghHA5Hfn6+0WjU2hAAAJBMGK4AbdiwoX///qtWrRJCjBgx4vPPPw9UOXz48Pnz5wshXnnlldtuu23cuHHp6endunX78ssvtUcLCgr+5V/+xWq1/vWvf42NjZ0wYUKguwAAABIKQwD66quvBg0a5Lk5aNCgU6dOKYridrvVHk/DbDarjaioKLXdpUsXg8HQ0NCgPZqWljZ27NjS0tJt27YtWbJEAAAAeAnDS2ATJkx45513Tp8+LYQ4d+7cm2++KYRITEz84osvLl26JITYtWtXkCXaobCwcMWKFZ999tm8efOC1QIAALmE4QrQtGnTqqurMzMzb7vtth07dnTp0kUIMXHixOzs7FtuueWmm256//33e/bsGWyZIHJzc++7775///d/79q1a7BaAAAgl8svPF1ljY2NVqs1Pj5eDUCqr7/+urGxsW/fvhoT2+mrr75KSUk5dOjQwIEDg9UCAAC5hC0AdbSSkpLKyspXX301WCEAAJDONRuAAAAAAgnDm6ABAADCiwAEAACkE4ZPgVmt1nfeeWfcuHGDBw/2dL799tvNzc0zZszQmPhdVVdXl5WVGQyG3NzclJQU34KDBw9+9NFHBQUFQojDhw+rxXfeeWdycvKRI0fef/99T2VWVlb//v3b1PguKKErezY1Tpnvg+/b895779XU1Kj18+fPN5vNtbW1W7ZsURRlzpw5cXFxQoiamprXX3+9S5cu8+fP7969u98eaWmfzerq6s8//zw7O1tjBdGO5x0A6EEYrgBVV1cvWLDgkUce8fTU1tbeddddv/zlLzVmfVeVlZWZmZkxMTFmszkjI6OqqqpNgc1my83NXbBggVo8ZsyYHj16mM3mUaNGHTp0qGvXrklJSUlJSb169Vq0aNHZs2d9a/zdrXSu4NnUOGW+D77f07F06dIzZ86oJ85gMNhstvT0dJvNZrVax48f73K5mpqaxowZ43A4KisrZ8+eLYTw7ZGZ9tncu3fvyy+/HHi2EO143gGAToThTdA7d+6cPHmyEKKqqkr9h/tjjz32/PPPx8fHHzhwQAhx7ty53/3udydOnEhJScnPz1f/kM+FCxdeeuml48ePX3/99YMGDYqIiOjbt+/HH39cX19/5syZ8ePHt/mH6T333NOnT58VK1YIIRYsWBAdHV1SUuJdsGzZsr/97W979uxxu90/+clPbrrpJvW3/P3339/c3Pzcc8+pZatXr37rrbfef/99jRqZBT2bvieuvr7++uuvv/XWW7/44ot33323qKjIYDAIzVPm++B//fXXbXpWrVrVvXv3mpqaxMRERVGEEAcPHhw2bFhDQ8OlS5d69epVW1sbFRVVWlq6fPnyjz76KCcnp76+/uzZs216/B+nHLTPpvqNxUOHDv0+zzsA0IkwXAESQnTr1u2uu+5as2aNEKKpqen5559XX4cSQpw/fz49Pb2+vn7u3LkHDhy49dZbGxsbz58/r35/6pw5c+rr66dNm/bWW2/t3r27sLDQbDZPmzbt4YcfVr9czKO+vj4pKUltJycn19XVeY9++OGHGzduXL16tXqzoaEhKipKbffs2fObb75R206nc9WqVcuXL9eogfbZ9D1xffv2vfPOO0+cODFr1iy3262mH6F5ynwffN+e/fv3O53OrKysH/7wh4sWLXI6nampqenp6bNnz543b97kyZMTExN79er10EMPrV69urCwMD8/Xwjh2yM5jbOpfmPx93neAYB+hCcACSGWLFmyYcMGm8326quvDhgwID09Xe3fsGFDYmJifn5+TEzMQw895HA43njjjfXr1yclJa1atermm29+8sknPf/oHDp06PLly2+77bbHH3/8xRdfDHRf3l80JoSw2Wz5+fklJSXXXXed2pOfn79y5cqKioqKior169fffffdav+bb75pNpunTp2qUQMR+Gz6PXETJkyYO3fu8OHDe/fuvXTpUr8Ltjllvg++b0+/fv3WrVv36aef7tmzp7Kyct26dceOHauurh45cuSwYcMOHjx48uRJdbWcnJyFCxdu2rTp1KlTgXpkFuhseoT2vAMAXQnDm6BVI0aMuOGGGzZt2rRu3boHHnjA019bW3vhwoUNGzaoN6dOndqvX79du3bdcMMNnprBgwerF2Cio6PVnj59+ly4cMFreWE0Gl0ul9p2OByeb04VQjz22GMDBw6cNWvWkSNHhBAul2vGjBlOp/OFF17Ytm2b+qUcauXKlSuXLVumvp4SqAZC82z6PXE//vGPS0pKJk2apD62Ko1T5vfBb9NjsViysrKMRqPRaMzJydmxY8dXX32VlZVVXFwsWt+/MnHixJiYmMGDBxcVFb3xxhtlZWUjRoxo06O+LUxmgc6mR2jPOwDQlbBdARJC3H///b/4xS++/PJL76sp48ePv3Tp0i9+8Yunn3562bJllZWVAwYMGDdu3Pbt29X3Z1y4cKGsrMx3tTb/1kxLS7NYLGrbYrGkpqYKIcrLyxsaGux2e8+ePefOnau+tqW+EDZz5sy8vLzIyMi1a9eqsyoqKo4ePer9Xaq+NfDwezb9nrhvvvnmvvvue/zxx5966qnDhw97ijVOmfD34Lfpee21137+85+rQxUVFUOGDOnZs6d6Rcftdp88ebJ3796bN29+9NFHhRBNTU0nTpxITEz07REIcDb9as/zDgB0KGxXgIQQM2fOXL58eX5+fmRkpKfzjjvu2L17d0ZGxpgxY/72t78tW7Zs4MCBAwcOPHTo0OjRo8eN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iIiI+vr666+//tZbb/3iiy/efffdH/3oR7m5uQ0NDc8+++y5c+cWLlw4YMCANosMGDDglltu8bc8AHxfXAECcIWdP39+1KhRR48enTNnTn19/bRp0956662+ffveeeedJ06cmDVrltvt/uSTT9atW/df//VfO3bs6N69+9KlS4OtCgBXEgEIwBW2fv36pKSkVatW3XzzzU8++WR2drYQYsKECXPnzh0+fHjv3r09cadLly6nT5/Oycn54x//qLkkAFxhBCAAV1htbe0NN9zguTl48GC18eMf/7i+vn7SpEnqVzMKIR555JFFixbl5eXde++9fhYCgA5DAAJwhY0bN2779u319fVCiAsXLpSVlQkhvvnmm/vuu+/xxx9/6qmnDh8+rFY+/fTTaWlpL7/88qZNm7RWBIArjTdBA7jCpk+ffujQodGjR48bN27nzp3q9Z6HH354+PDhv/rVr4xGY15eXkFBgRCiV69ec+bMiY+PLywsDLYqAFxJfBs8gA5ht9tPnjzZp0+frl27apR9/fXXTqczLi7ujTfe8O4fMWJESkpKoFkA8D1xBQhAhzCbzcnJycGqRO/evdVGnz59vPujoqL8lQPAlcEVIAAAIB3eBA0AAKRDAAIAANIhAAEAAOkQgAAAgHQIQAAAQDoEIAAAIB0CEAAAkA4BCAAASIcABAAApEMAAgAA0iEAAQAA6RCAAACAdDr82+Crq6vLysoMBkNubm5KSko7h/RMY9v79++3WCyRkZHz5s0LNF1vNA7n0KFD27dvVxRl5syZ/fv3D7SCrmgcTk1Nzeuvv96lS5f58+d379490Aq6EvQ5cvDgwY8++qigoMB3SIc0Due9996rqalR2/Pnzzebzf4W0Bfts3P27NmtW7fOmTOns3ytfaDDOXLkyPvvv++5mZWV1Sl+G2icndra2i1btiiKMmfOnLi4uEAr6IrG4Rw+fFgduvPOO5OTkwOtoDca/7kM+nvvSunYK0CVlZWZmZkxMTFmszkjI6Oqqqo9Q3qmve3o6GibzbZkyZJA0/VG43B27949duzY2NhYu92enp5utVo11tEJjcNpamoaM2aMw+GorKycPXu2xiL6EfQ5YrPZcnNzFyxY4He63mgfztKlS8+cOZOUlJSUlGQwdOzvpSsi6NkpKir6+OOPO0v60Ticrl27quelV69eixYtOnv2rMY6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\n", "text/plain": [ "" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v.clear()\n", "box.colormap = 'cmap4'\n", "v.plot(a,box)" ] } ], "metadata": { "kernelspec": { "display_name": "Python [conda env:nightly2]", "language": "python", "name": "conda-env-nightly2-py" }, "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.14" } }, "nbformat": 4, "nbformat_minor": 2 }