Last active
          December 5, 2024 00:11 
        
      - 
      
- 
        Save ekellbuch/868ac0e483bed5b68261458a85373204 to your computer and use it in GitHub Desktop. 
    Discrete Color Palette.ipynb
  
        
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | { | |
| "nbformat": 4, | |
| "nbformat_minor": 0, | |
| "metadata": { | |
| "colab": { | |
| "name": "Discrete Color Palette.ipynb", | |
| "provenance": [], | |
| "collapsed_sections": [], | |
| "include_colab_link": true | |
| }, | |
| "kernelspec": { | |
| "name": "python3", | |
| "display_name": "Python 3" | |
| } | |
| }, | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "view-in-github", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "<a href=\"https://colab.research.google.com/gist/ekellbuch/868ac0e483bed5b68261458a85373204/discrete-color-palette.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "vhkmFJT_03je", | |
| "colab_type": "code", | |
| "colab": {} | |
| }, | |
| "source": [ | |
| "import matplotlib as mpl\n", | |
| "import matplotlib.pyplot as plt\n", | |
| "import seaborn as sns\n", | |
| "import numpy as np\n", | |
| "\n", | |
| "sns.set_style(\"white\")\n", | |
| "sns.set_context(\"talk\")\n", | |
| "\n", | |
| "color_names = [\n", | |
| " \"windows blue\",\n", | |
| " \"red\",\n", | |
| " \"amber\",\n", | |
| " \"faded green\",\n", | |
| " \"dusty purple\",\n", | |
| " #\"orange\",\n", | |
| " #\"clay\",\n", | |
| " #\"pink\",\n", | |
| " #\"greyish\",\n", | |
| " #\"mint\",\n", | |
| " #\"light cyan\",\n", | |
| " #\"steel blue\",\n", | |
| " #\"forest green\",\n", | |
| " #\"pastel purple\",\n", | |
| " #\"salmon\",\n", | |
| " #\"dark brown\",\n", | |
| "]\n", | |
| "\n", | |
| "num_colors = 8\n", | |
| "\n", | |
| "colors = sns.xkcd_palette(color_names[:num_colors])\n", | |
| "cmap = mpl.colors.LinearSegmentedColormap.from_list(\n", | |
| " 'Custom cmap', colors, num_colors)\n", | |
| "bounds = np.linspace(0, num_colors, num_colors+1)\n", | |
| "norm = mpl.colors.BoundaryNorm(bounds, num_colors +1)\n" | |
| ], | |
| "execution_count": 0, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "SB8HJgmy1ZMi", | |
| "colab_type": "code", | |
| "outputId": "7be81883-a171-42ff-9e7e-d6f3b63d7826", | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 162 | |
| } | |
| }, | |
| "source": [ | |
| "a = np.arange(num_colors)[None,:]\n", | |
| "\n", | |
| "plt.imshow(a, cmap=cmap, norm=norm)\n", | |
| "plt.xticks([])\n", | |
| "plt.yticks([])\n", | |
| "\n", | |
| "cbar = plt.colorbar(orientation='horizontal')\n", | |
| "tick_locs = (np.arange(num_colors +1) + 0.5) * (num_colors) / num_colors\n", | |
| "cbar.set_ticks(tick_locs)\n", | |
| "cbar.set_ticklabels(np.arange(1, num_colors+1))\n", | |
| "plt.show()" | |
| ], | |
| "execution_count": 0, | |
| "outputs": [ | |
| { | |
| "output_type": "display_data", | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<Figure size 432x288 with 2 Axes>" | |
| ] | |
| }, | |
| "metadata": { | |
| "tags": [] | |
| } | |
| } | |
| ] | |
| } | |
| ] | |
| } | 
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment