Last active
August 20, 2025 08:48
-
-
Save flying-sheep/a38e925d0b0f7ad5c6eb1ada8fa5c128 to your computer and use it in GitHub Desktop.
Use colorspacious to make monochrome colormaps from palette colors
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
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"id": "fbd22762", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import numpy as np\n", | |
"from colorspacious import cspace_convert\n", | |
"from matplotlib import cm\n", | |
"from matplotlib.colors import ListedColormap" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"id": "3bd9319a", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/home/phil/.local/share/hatch/env/virtual/hv-anndata/O7Q68J-Z/docs/lib/python3.13/site-packages/colorspacious/ciecam02.py:333: RuntimeWarning: divide by zero encountered in divide\n", | |
" t = (C\n" | |
] | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAgAAAABACAYAAABsv8+/AAAAE3RFWHRUaXRsZQBibHVlIGNvbG9ybWFwLZswNQAAABl0RVh0RGVzY3JpcHRpb24AYmx1ZSBjb2xvcm1hcKYpoK0AAAAxdEVYdEF1dGhvcgBNYXRwbG90bGliIHYzLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmeGenhVAAAAM3RFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHYzLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcjXmuhAAAB5ElEQVR4nO3WwU3sQBRE0cb2DIhEiI9ICICc2BMIW2DB0jXIUjMgUecsn7r97OF/6d6MMT5G8rQfPTw+72av4yVcftuPtvf97D5cvV32s3OYndZweYxxCme3LczC/TRbZ86Fvenc7J6/ml3hmXdLmIVz5zA7rfu//Sk8b4wxtnA/zsL9NexZZ+7Gc/m91+XY7vzM/d1l4h2XuDf8/7vwjkv6lrjn4LmDv006l77la0/6zdKe/d30U6RZ+LyR/tkevXtx98Qzf+N5s3umvmVi71XeJ+344dl3cwDgHxMAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAoU8Zpgk7wrvq3QAAAABJRU5ErkJggg==", | |
"text/html": [ | |
"<div style=\"vertical-align: middle;\"><strong>blue</strong> </div><div class=\"cmap\"><img alt=\"blue colormap\" title=\"blue\" style=\"border: 1px solid #555;\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAABACAYAAABsv8+/AAAAE3RFWHRUaXRsZQBibHVlIGNvbG9ybWFwLZswNQAAABl0RVh0RGVzY3JpcHRpb24AYmx1ZSBjb2xvcm1hcKYpoK0AAAAxdEVYdEF1dGhvcgBNYXRwbG90bGliIHYzLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmeGenhVAAAAM3RFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHYzLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcjXmuhAAAB5ElEQVR4nO3WwU3sQBRE0cb2DIhEiI9ICICc2BMIW2DB0jXIUjMgUecsn7r97OF/6d6MMT5G8rQfPTw+72av4yVcftuPtvf97D5cvV32s3OYndZweYxxCme3LczC/TRbZ86Fvenc7J6/ml3hmXdLmIVz5zA7rfu//Sk8b4wxtnA/zsL9NexZZ+7Gc/m91+XY7vzM/d1l4h2XuDf8/7vwjkv6lrjn4LmDv006l77la0/6zdKe/d30U6RZ+LyR/tkevXtx98Qzf+N5s3umvmVi71XeJ+344dl3cwDgHxMAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAIQEAAIUEAAAUEgAAUEgAAEAhAQAAhQQAABQSAABQSAAAQCEBAACFBAAAFBIAAFBIAABAoU8Zpgk7wrvq3QAAAABJRU5ErkJggg==\"></div><div style=\"vertical-align: middle; max-width: 514px; display: flex; justify-content: space-between;\"><div style=\"float: left;\"><div title=\"#000000ff\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #000000ff;\"></div> under</div><div style=\"margin: 0 auto; display: inline-block;\">bad <div title=\"#00000000\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #00000000;\"></div></div><div style=\"float: right;\">over <div title=\"#bfffffff\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #bfffffff;\"></div></div></div>" | |
], | |
"text/plain": [ | |
"<matplotlib.colors.ListedColormap at 0x7f453a7c2750>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAgAAAABACAYAAABsv8+/AAAAFXRFWHRUaXRsZQBvcmFuZ2UgY29sb3JtYXCC8c+OAAAAG3RFWHREZXNjcmlwdGlvbgBvcmFuZ2UgY29sb3JtYXDLZtdqAAAAMXRFWHRBdXRob3IATWF0cGxvdGxpYiB2My4xMC4zLCBodHRwczovL21hdHBsb3RsaWIub3Jnhnp4VQAAADN0RVh0U29mdHdhcmUATWF0cGxvdGxpYiB2My4xMC4zLCBodHRwczovL21hdHBsb3RsaWIub3JnI15roQAAAa9JREFUeJzt1ltuwjAQQFE30Ie6//22C+ggGQX46D3nc+TYTgTSfVtr/azBxzD73px9DbPPE7PpLtNsrbXeN9e+H8Pssje7Xod102x6dpjdmu8+//DZ8G3uufflxJ6XF6y7Z+3uu0zrxv1O3nv3jo8++8y59+35d9PL8ffPNc2OYbaOzR/otO7W/BguvrtueuntMzZnZ58f7/iC2VPOeXv+GS87+8H7rbVuvA0A8J8JAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBv5fCA65F4IjHAAAAAElFTkSuQmCC", | |
"text/html": [ | |
"<div style=\"vertical-align: middle;\"><strong>orange</strong> </div><div class=\"cmap\"><img alt=\"orange colormap\" title=\"orange\" style=\"border: 1px solid #555;\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAABACAYAAABsv8+/AAAAFXRFWHRUaXRsZQBvcmFuZ2UgY29sb3JtYXCC8c+OAAAAG3RFWHREZXNjcmlwdGlvbgBvcmFuZ2UgY29sb3JtYXDLZtdqAAAAMXRFWHRBdXRob3IATWF0cGxvdGxpYiB2My4xMC4zLCBodHRwczovL21hdHBsb3RsaWIub3Jnhnp4VQAAADN0RVh0U29mdHdhcmUATWF0cGxvdGxpYiB2My4xMC4zLCBodHRwczovL21hdHBsb3RsaWIub3JnI15roQAAAa9JREFUeJzt1ltuwjAQQFE30Ie6//22C+ggGQX46D3nc+TYTgTSfVtr/azBxzD73px9DbPPE7PpLtNsrbXeN9e+H8Pssje7Xod102x6dpjdmu8+//DZ8G3uufflxJ6XF6y7Z+3uu0zrxv1O3nv3jo8++8y59+35d9PL8ffPNc2OYbaOzR/otO7W/BguvrtueuntMzZnZ58f7/iC2VPOeXv+GS87+8H7rbVuvA0A8J8JAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBv5fCA65F4IjHAAAAAElFTkSuQmCC\"></div><div style=\"vertical-align: middle; max-width: 514px; display: flex; justify-content: space-between;\"><div style=\"float: left;\"><div title=\"#000000ff\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #000000ff;\"></div> under</div><div style=\"margin: 0 auto; display: inline-block;\">bad <div title=\"#00000000\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #00000000;\"></div></div><div style=\"float: right;\">over <div title=\"#ffd160ff\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #ffd160ff;\"></div></div></div>" | |
], | |
"text/plain": [ | |
"<matplotlib.colors.ListedColormap at 0x7f453a7c2690>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAgAAAABACAYAAABsv8+/AAAAFHRFWHRUaXRsZQBncmVlbiBjb2xvcm1hcF+1U3oAAAAadEVYdERlc2NyaXB0aW9uAGdyZWVuIGNvbG9ybWFwoer6nAAAADF0RVh0QXV0aG9yAE1hdHBsb3RsaWIgdjMuMTAuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZ4Z6eFUAAAAzdEVYdFNvZnR3YXJlAE1hdHBsb3RsaWIgdjMuMTAuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZyNea6EAAAG7SURBVHic7dZBcsIwEABBYQOV/384eQCbKiWG03Qft7S2MJe5rbW+1+QcZo9h9tycTbu7s/vm7Or+NJu+w7t3/3J2Ovfu3d3ZJ555Dhc/h4Pn8EeP5+YP/hjOfh2vs+d5bO3ex9nr7n14xzmcO6ffsta6H9PZvf1z2D2m3d07bj7vt/1j/C3/v/f8vM1zw+wT77m0u3lurWvfbPfd4zsu3vvKfY7bcMc1nFu3YTad25td3d+ffeLeAECOAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQ9AMI5AO+nK6z8wAAAABJRU5ErkJggg==", | |
"text/html": [ | |
"<div style=\"vertical-align: middle;\"><strong>green</strong> </div><div class=\"cmap\"><img alt=\"green colormap\" title=\"green\" style=\"border: 1px solid #555;\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAABACAYAAABsv8+/AAAAFHRFWHRUaXRsZQBncmVlbiBjb2xvcm1hcF+1U3oAAAAadEVYdERlc2NyaXB0aW9uAGdyZWVuIGNvbG9ybWFwoer6nAAAADF0RVh0QXV0aG9yAE1hdHBsb3RsaWIgdjMuMTAuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZ4Z6eFUAAAAzdEVYdFNvZnR3YXJlAE1hdHBsb3RsaWIgdjMuMTAuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZyNea6EAAAG7SURBVHic7dZBcsIwEABBYQOV/384eQCbKiWG03Qft7S2MJe5rbW+1+QcZo9h9tycTbu7s/vm7Or+NJu+w7t3/3J2Ovfu3d3ZJ555Dhc/h4Pn8EeP5+YP/hjOfh2vs+d5bO3ex9nr7n14xzmcO6ffsta6H9PZvf1z2D2m3d07bj7vt/1j/C3/v/f8vM1zw+wT77m0u3lurWvfbPfd4zsu3vvKfY7bcMc1nFu3YTad25td3d+ffeLeAECOAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQ9AMI5AO+nK6z8wAAAABJRU5ErkJggg==\"></div><div style=\"vertical-align: middle; max-width: 514px; display: flex; justify-content: space-between;\"><div style=\"float: left;\"><div title=\"#000000ff\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #000000ff;\"></div> under</div><div style=\"margin: 0 auto; display: inline-block;\">bad <div title=\"#00000000\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #00000000;\"></div></div><div style=\"float: right;\">over <div title=\"#a9ff98ff\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #a9ff98ff;\"></div></div></div>" | |
], | |
"text/plain": [ | |
"<matplotlib.colors.ListedColormap at 0x7f453a7c2b10>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAgAAAABACAYAAABsv8+/AAAAEnRFWHRUaXRsZQByZWQgY29sb3JtYXBvAxS7AAAAGHRFWHREZXNjcmlwdGlvbgByZWQgY29sb3JtYXBjK2bhAAAAMXRFWHRBdXRob3IATWF0cGxvdGxpYiB2My4xMC4zLCBodHRwczovL21hdHBsb3RsaWIub3Jnhnp4VQAAADN0RVh0U29mdHdhcmUATWF0cGxvdGxpYiB2My4xMC4zLCBodHRwczovL21hdHBsb3RsaWIub3JnI15roQAAAcRJREFUeJzt1sFqWzEQQFE5z0naQv//c9NFlx6D7FdqyD1nOWgsYZxwL2utrzX4Ocx+D7Nfm7Mfw+xz89zH5u69s7uz983Zmd1pttZa1+39y7A7zd6G3dvZdG6eHcNrHvnM2/3r9fbc8THsvm/Ornt3rLXWcUz7w2w4N+7unnt7/vPWWus4sb+9O5y7TO8Zzo2zv5c/v/+q3btnb//eTt1zZnbnd7L97v/xxt23PLJ/6vv+x9/DK+++nLhjreE/NQDw7QkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEF/AID9A8MJw41YAAAAAElFTkSuQmCC", | |
"text/html": [ | |
"<div style=\"vertical-align: middle;\"><strong>red</strong> </div><div class=\"cmap\"><img alt=\"red colormap\" title=\"red\" style=\"border: 1px solid #555;\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAABACAYAAABsv8+/AAAAEnRFWHRUaXRsZQByZWQgY29sb3JtYXBvAxS7AAAAGHRFWHREZXNjcmlwdGlvbgByZWQgY29sb3JtYXBjK2bhAAAAMXRFWHRBdXRob3IATWF0cGxvdGxpYiB2My4xMC4zLCBodHRwczovL21hdHBsb3RsaWIub3Jnhnp4VQAAADN0RVh0U29mdHdhcmUATWF0cGxvdGxpYiB2My4xMC4zLCBodHRwczovL21hdHBsb3RsaWIub3JnI15roQAAAcRJREFUeJzt1sFqWzEQQFE5z0naQv//c9NFlx6D7FdqyD1nOWgsYZxwL2utrzX4Ocx+D7Nfm7Mfw+xz89zH5u69s7uz983Zmd1pttZa1+39y7A7zd6G3dvZdG6eHcNrHvnM2/3r9fbc8THsvm/Ornt3rLXWcUz7w2w4N+7unnt7/vPWWus4sb+9O5y7TO8Zzo2zv5c/v/+q3btnb//eTt1zZnbnd7L97v/xxt23PLJ/6vv+x9/DK+++nLhjreE/NQDw7QkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEF/AID9A8MJw41YAAAAAElFTkSuQmCC\"></div><div style=\"vertical-align: middle; max-width: 514px; display: flex; justify-content: space-between;\"><div style=\"float: left;\"><div title=\"#000000ff\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #000000ff;\"></div> under</div><div style=\"margin: 0 auto; display: inline-block;\">bad <div title=\"#00000000\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #00000000;\"></div></div><div style=\"float: right;\">over <div title=\"#ffad9aff\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #ffad9aff;\"></div></div></div>" | |
], | |
"text/plain": [ | |
"<matplotlib.colors.ListedColormap at 0x7f453a7c2990>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAgAAAABACAYAAABsv8+/AAAAFXRFWHRUaXRsZQBwdXJwbGUgY29sb3JtYXA4E0ouAAAAG3RFWHREZXNjcmlwdGlvbgBwdXJwbGUgY29sb3JtYXBxhFLKAAAAMXRFWHRBdXRob3IATWF0cGxvdGxpYiB2My4xMC4zLCBodHRwczovL21hdHBsb3RsaWIub3Jnhnp4VQAAADN0RVh0U29mdHdhcmUATWF0cGxvdGxpYiB2My4xMC4zLCBodHRwczovL21hdHBsb3RsaWIub3JnI15roQAAAehJREFUeJzt1jFOw0AURdGJHWBF7Ij1U9AiBEVKP0ufgITEO6f8mvGMnRT3stb6XMFbGD+vl8Psfb0eZpf1cZjt4Yx9bWF2XHkNs7TutvY6e+Y1rHsK5zyGvQ9h7zXsTWeEdbf7hP17emZaF84Z771/ttZa23T/9rtnx3O38H/6zr2Hd9z2cM507/COW3je2dr03tPvM/0O83sf150+M3zH9N77dF16v+G56X63/fe/d9y7XcJ90rnHWbh2XHc2T+dMnzm+z/Bdzu79k/tMZ5f0U6f7TGc/3f9Xs/MxAPCfCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKDQF77zCWUFw+h4AAAAAElFTkSuQmCC", | |
"text/html": [ | |
"<div style=\"vertical-align: middle;\"><strong>purple</strong> </div><div class=\"cmap\"><img alt=\"purple colormap\" title=\"purple\" style=\"border: 1px solid #555;\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAABACAYAAABsv8+/AAAAFXRFWHRUaXRsZQBwdXJwbGUgY29sb3JtYXA4E0ouAAAAG3RFWHREZXNjcmlwdGlvbgBwdXJwbGUgY29sb3JtYXBxhFLKAAAAMXRFWHRBdXRob3IATWF0cGxvdGxpYiB2My4xMC4zLCBodHRwczovL21hdHBsb3RsaWIub3Jnhnp4VQAAADN0RVh0U29mdHdhcmUATWF0cGxvdGxpYiB2My4xMC4zLCBodHRwczovL21hdHBsb3RsaWIub3JnI15roQAAAehJREFUeJzt1jFOw0AURdGJHWBF7Ij1U9AiBEVKP0ufgITEO6f8mvGMnRT3stb6XMFbGD+vl8Psfb0eZpf1cZjt4Yx9bWF2XHkNs7TutvY6e+Y1rHsK5zyGvQ9h7zXsTWeEdbf7hP17emZaF84Z771/ttZa23T/9rtnx3O38H/6zr2Hd9z2cM507/COW3je2dr03tPvM/0O83sf150+M3zH9N77dF16v+G56X63/fe/d9y7XcJ90rnHWbh2XHc2T+dMnzm+z/Bdzu79k/tMZ5f0U6f7TGc/3f9Xs/MxAPCfCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKDQF77zCWUFw+h4AAAAAElFTkSuQmCC\"></div><div style=\"vertical-align: middle; max-width: 514px; display: flex; justify-content: space-between;\"><div style=\"float: left;\"><div title=\"#000000ff\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #000000ff;\"></div> under</div><div style=\"margin: 0 auto; display: inline-block;\">bad <div title=\"#00000000\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #00000000;\"></div></div><div style=\"float: right;\">over <div title=\"#ffe9ffff\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #ffe9ffff;\"></div></div></div>" | |
], | |
"text/plain": [ | |
"<matplotlib.colors.ListedColormap at 0x7f453a7c2bd0>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAgAAAABACAYAAABsv8+/AAAAFHRFWHRUaXRsZQBicm93biBjb2xvcm1hcMe7qHwAAAAadEVYdERlc2NyaXB0aW9uAGJyb3duIGNvbG9ybWFwOeQBmgAAADF0RVh0QXV0aG9yAE1hdHBsb3RsaWIgdjMuMTAuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZ4Z6eFUAAAAzdEVYdFNvZnR3YXJlAE1hdHBsb3RsaWIgdjMuMTAuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZyNea6EAAAHFSURBVHic7dbBitswFEBRxU7K/P8Pt4su/QLKuLTQe87yIdmWCOE+1lo/1+A1zL42Zz+m2fG4zs7r7HUe19lzmJ3n8Ja1ns/r/DmsfW2uuzM7x3XXs3y2f1p3febu887j+3vfvfs89s69+z1/et3vtXvfPa07NtfdO8v83eO7N/dP5zu2937/Ht7v37ufcd3m7LhxD589c/N8N+5xet5H333jzh7Te8bZ8D+xu/eTtdNs+u3ded7f+u5/NVtrvTkNAPA/EwAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAgn4B96YEQYkP86MAAAAASUVORK5CYII=", | |
"text/html": [ | |
"<div style=\"vertical-align: middle;\"><strong>brown</strong> </div><div class=\"cmap\"><img alt=\"brown colormap\" title=\"brown\" style=\"border: 1px solid #555;\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAABACAYAAABsv8+/AAAAFHRFWHRUaXRsZQBicm93biBjb2xvcm1hcMe7qHwAAAAadEVYdERlc2NyaXB0aW9uAGJyb3duIGNvbG9ybWFwOeQBmgAAADF0RVh0QXV0aG9yAE1hdHBsb3RsaWIgdjMuMTAuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZ4Z6eFUAAAAzdEVYdFNvZnR3YXJlAE1hdHBsb3RsaWIgdjMuMTAuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZyNea6EAAAHFSURBVHic7dbBitswFEBRxU7K/P8Pt4su/QLKuLTQe87yIdmWCOE+1lo/1+A1zL42Zz+m2fG4zs7r7HUe19lzmJ3n8Ja1ns/r/DmsfW2uuzM7x3XXs3y2f1p3febu887j+3vfvfs89s69+z1/et3vtXvfPa07NtfdO8v83eO7N/dP5zu2937/Ht7v37ufcd3m7LhxD589c/N8N+5xet5H333jzh7Te8bZ8D+xu/eTtdNs+u3ded7f+u5/NVtrvTkNAPA/EwAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAgn4B96YEQYkP86MAAAAASUVORK5CYII=\"></div><div style=\"vertical-align: middle; max-width: 514px; display: flex; justify-content: space-between;\"><div style=\"float: left;\"><div title=\"#000000ff\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #000000ff;\"></div> under</div><div style=\"margin: 0 auto; display: inline-block;\">bad <div title=\"#00000000\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #00000000;\"></div></div><div style=\"float: right;\">over <div title=\"#ffeadaff\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #ffeadaff;\"></div></div></div>" | |
], | |
"text/plain": [ | |
"<matplotlib.colors.ListedColormap at 0x7f453a7c2c90>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAgAAAABACAYAAABsv8+/AAAAE3RFWHRUaXRsZQBwaW5rIGNvbG9ybWFw8n0niAAAABl0RVh0RGVzY3JpcHRpb24AcGluayBjb2xvcm1hcHnPtxAAAAAxdEVYdEF1dGhvcgBNYXRwbG90bGliIHYzLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmeGenhVAAAAM3RFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHYzLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcjXmuhAAAB2klEQVR4nO3Wy0oEMRRF0XQ9Wh058///VAcOcxrSliB41hpeblKhEdm3McbnCN7HxzR7G9s0ex3nNHsZxzS7h7173JtnZzh7hr3v+b60eyzO0n35bNi7hdk9v/s45909zI4jzeY797S3h2+s7oXZM7v7Pv/trJ8Ns+3n333mzvjGbb4z3bfFN4azi3uPd6+88efvSXvbM+9e/Ha689rZtbeM8eD3Wf4d59ktfHukb6ffcfXso/nq+d9+z+rsqTvT2cVZ+ld25b6r5/9q9ngMAPxnAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACj0Bf1kBE4TF9swAAAAAElFTkSuQmCC", | |
"text/html": [ | |
"<div style=\"vertical-align: middle;\"><strong>pink</strong> </div><div class=\"cmap\"><img alt=\"pink colormap\" title=\"pink\" style=\"border: 1px solid #555;\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAABACAYAAABsv8+/AAAAE3RFWHRUaXRsZQBwaW5rIGNvbG9ybWFw8n0niAAAABl0RVh0RGVzY3JpcHRpb24AcGluayBjb2xvcm1hcHnPtxAAAAAxdEVYdEF1dGhvcgBNYXRwbG90bGliIHYzLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmeGenhVAAAAM3RFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHYzLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcjXmuhAAAB2klEQVR4nO3Wy0oEMRRF0XQ9Wh058///VAcOcxrSliB41hpeblKhEdm3McbnCN7HxzR7G9s0ex3nNHsZxzS7h7173JtnZzh7hr3v+b60eyzO0n35bNi7hdk9v/s45909zI4jzeY797S3h2+s7oXZM7v7Pv/trJ8Ns+3n333mzvjGbb4z3bfFN4azi3uPd6+88efvSXvbM+9e/Ha689rZtbeM8eD3Wf4d59ktfHukb6ffcfXso/nq+d9+z+rsqTvT2cVZ+ld25b6r5/9q9ngMAPxnAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACgkAACgkAAAgEICAAAKCQAAKCQAAKCQAACAQgIAAAoJAAAoJAAAoJAAAIBCAgAACgkAACj0Bf1kBE4TF9swAAAAAElFTkSuQmCC\"></div><div style=\"vertical-align: middle; max-width: 514px; display: flex; justify-content: space-between;\"><div style=\"float: left;\"><div title=\"#000100ff\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #000100ff;\"></div> under</div><div style=\"margin: 0 auto; display: inline-block;\">bad <div title=\"#00000000\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #00000000;\"></div></div><div style=\"float: right;\">over <div title=\"#ffd1ffff\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #ffd1ffff;\"></div></div></div>" | |
], | |
"text/plain": [ | |
"<matplotlib.colors.ListedColormap at 0x7f453a7c2d50>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAgAAAABACAYAAABsv8+/AAAAE3RFWHRUaXRsZQBncmF5IGNvbG9ybWFw9iBr6wAAABl0RVh0RGVzY3JpcHRpb24AZ3JheSBjb2xvcm1hcH2S+3MAAAAxdEVYdEF1dGhvcgBNYXRwbG90bGliIHYzLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmeGenhVAAAAM3RFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHYzLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcjXmuhAAABtElEQVR4nO3WQW7DIBRAQWrS+x+5XXQZLOE4UqS+meUXGGJn8b7GGD9j0zHn02wuZo/HY3P2vblu74wxxpir/at7765b/b75vHcu7rjau5pdWfux2XE8zc7W7v5PVs/cft6NvZf2f2jd2fvefRerdbfuuHnGlXu/+5zV8465OmPvLufPvHGfG99gd/b3zNXa189Zf5f3nnF6zvbZr9/nzve7snb/3q//b1ezr7N7L6cAwL8mAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAE/QKpewR6EnymHwAAAABJRU5ErkJggg==", | |
"text/html": [ | |
"<div style=\"vertical-align: middle;\"><strong>gray</strong> </div><div class=\"cmap\"><img alt=\"gray colormap\" title=\"gray\" style=\"border: 1px solid #555;\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAABACAYAAABsv8+/AAAAE3RFWHRUaXRsZQBncmF5IGNvbG9ybWFw9iBr6wAAABl0RVh0RGVzY3JpcHRpb24AZ3JheSBjb2xvcm1hcH2S+3MAAAAxdEVYdEF1dGhvcgBNYXRwbG90bGliIHYzLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmeGenhVAAAAM3RFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHYzLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcjXmuhAAABtElEQVR4nO3WQW7DIBRAQWrS+x+5XXQZLOE4UqS+meUXGGJn8b7GGD9j0zHn02wuZo/HY3P2vblu74wxxpir/at7765b/b75vHcu7rjau5pdWfux2XE8zc7W7v5PVs/cft6NvZf2f2jd2fvefRerdbfuuHnGlXu/+5zV8465OmPvLufPvHGfG99gd/b3zNXa189Zf5f3nnF6zvbZr9/nzve7snb/3q//b1ezr7N7L6cAwL8mAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAE/QKpewR6EnymHwAAAABJRU5ErkJggg==\"></div><div style=\"vertical-align: middle; max-width: 514px; display: flex; justify-content: space-between;\"><div style=\"float: left;\"><div title=\"#000000ff\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #000000ff;\"></div> under</div><div style=\"margin: 0 auto; display: inline-block;\">bad <div title=\"#00000000\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #00000000;\"></div></div><div style=\"float: right;\">over <div title=\"#fffffeff\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #fffffeff;\"></div></div></div>" | |
], | |
"text/plain": [ | |
"<matplotlib.colors.ListedColormap at 0x7f453a7c2e10>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAgAAAABACAYAAABsv8+/AAAAFHRFWHRUaXRsZQBvbGl2ZSBjb2xvcm1hcOjz85oAAAAadEVYdERlc2NyaXB0aW9uAG9saXZlIGNvbG9ybWFwFqxafAAAADF0RVh0QXV0aG9yAE1hdHBsb3RsaWIgdjMuMTAuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZ4Z6eFUAAAAzdEVYdFNvZnR3YXJlAE1hdHBsb3RsaWIgdjMuMTAuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZyNea6EAAAHQSURBVHic7dZRbtswEEBBWnLuf+T2AFwBSpUUQd7M52JpyoadvNda68+avPbReeyzj3OYvYfZxz57D3tPZpe7wzOeD/bOYW+6d9qbZpe7D17zf8zWWuu4e3747kx7t19vOnvzjqfnx2cczj75bKaza33iGX/Q3lqf+cz2xePYfwjnsf9BOc5hNlx8Dj+sae/6/P7g0944G86e49npjmF28QU/b5+/t/fVr3f9eU937/+M7t/z77PxPU9f2m+4+5je82vfe63pee7OrqYAwK8mAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAE/QXu2QPkqFnixgAAAABJRU5ErkJggg==", | |
"text/html": [ | |
"<div style=\"vertical-align: middle;\"><strong>olive</strong> </div><div class=\"cmap\"><img alt=\"olive colormap\" title=\"olive\" style=\"border: 1px solid #555;\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAABACAYAAABsv8+/AAAAFHRFWHRUaXRsZQBvbGl2ZSBjb2xvcm1hcOjz85oAAAAadEVYdERlc2NyaXB0aW9uAG9saXZlIGNvbG9ybWFwFqxafAAAADF0RVh0QXV0aG9yAE1hdHBsb3RsaWIgdjMuMTAuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZ4Z6eFUAAAAzdEVYdFNvZnR3YXJlAE1hdHBsb3RsaWIgdjMuMTAuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZyNea6EAAAHQSURBVHic7dZRbtswEEBBWnLuf+T2AFwBSpUUQd7M52JpyoadvNda68+avPbReeyzj3OYvYfZxz57D3tPZpe7wzOeD/bOYW+6d9qbZpe7D17zf8zWWuu4e3747kx7t19vOnvzjqfnx2cczj75bKaza33iGX/Q3lqf+cz2xePYfwjnsf9BOc5hNlx8Dj+sae/6/P7g0944G86e49npjmF28QU/b5+/t/fVr3f9eU937/+M7t/z77PxPU9f2m+4+5je82vfe63pee7OrqYAwK8mAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAE/QXu2QPkqFnixgAAAABJRU5ErkJggg==\"></div><div style=\"vertical-align: middle; max-width: 514px; display: flex; justify-content: space-between;\"><div style=\"float: left;\"><div title=\"#000000ff\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #000000ff;\"></div> under</div><div style=\"margin: 0 auto; display: inline-block;\">bad <div title=\"#00000000\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #00000000;\"></div></div><div style=\"float: right;\">over <div title=\"#ffff67ff\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #ffff67ff;\"></div></div></div>" | |
], | |
"text/plain": [ | |
"<matplotlib.colors.ListedColormap at 0x7f453a7c2ed0>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAgAAAABACAYAAABsv8+/AAAAE3RFWHRUaXRsZQBjeWFuIGNvbG9ybWFwgnk/4gAAABl0RVh0RGVzY3JpcHRpb24AY3lhbiBjb2xvcm1hcAnLr3oAAAAxdEVYdEF1dGhvcgBNYXRwbG90bGliIHYzLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmeGenhVAAAAM3RFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHYzLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcjXmuhAAABz0lEQVR4nO3WQY7TQBBA0R7HGWbDqbj/PbgFLFi6BnVkBBL/vWWpy92Rsvhva60fa/L+7Tr7+H6dPYfd5zHMzmH2uM7O4dw4G3bv7j/+9LnN3c/Obn/zH83u7h+7u8P/6c4dr9xz5427u8fm73vpnr/wnlfePZ69zo7hjV+H3Y/hni/Duffh3HM4N83WWusc9s/h7Dm8+zH8vmn3cWt3fvfuN48b75nunmbzHZfRr7O7f+W9v9P+996Gc9fR+uTZ22en2Z3dO9/73RwA+I8JAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBPwGXSwUPKksZDgAAAABJRU5ErkJggg==", | |
"text/html": [ | |
"<div style=\"vertical-align: middle;\"><strong>cyan</strong> </div><div class=\"cmap\"><img alt=\"cyan colormap\" title=\"cyan\" style=\"border: 1px solid #555;\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAABACAYAAABsv8+/AAAAE3RFWHRUaXRsZQBjeWFuIGNvbG9ybWFwgnk/4gAAABl0RVh0RGVzY3JpcHRpb24AY3lhbiBjb2xvcm1hcAnLr3oAAAAxdEVYdEF1dGhvcgBNYXRwbG90bGliIHYzLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmeGenhVAAAAM3RFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHYzLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcjXmuhAAABz0lEQVR4nO3WQY7TQBBA0R7HGWbDqbj/PbgFLFi6BnVkBBL/vWWpy92Rsvhva60fa/L+7Tr7+H6dPYfd5zHMzmH2uM7O4dw4G3bv7j/+9LnN3c/Obn/zH83u7h+7u8P/6c4dr9xz5427u8fm73vpnr/wnlfePZ69zo7hjV+H3Y/hni/Duffh3HM4N83WWusc9s/h7Dm8+zH8vmn3cWt3fvfuN48b75nunmbzHZfRr7O7f+W9v9P+996Gc9fR+uTZ22en2Z3dO9/73RwA+I8JAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBAgAAggQAAAQJAAAIEgAAECQAACBIAABAkAAAgCABAABBPwGXSwUPKksZDgAAAABJRU5ErkJggg==\"></div><div style=\"vertical-align: middle; max-width: 514px; display: flex; justify-content: space-between;\"><div style=\"float: left;\"><div title=\"#000000ff\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #000000ff;\"></div> under</div><div style=\"margin: 0 auto; display: inline-block;\">bad <div title=\"#00000000\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #00000000;\"></div></div><div style=\"float: right;\">over <div title=\"#92ffffff\" style=\"display: inline-block; width: 1em; height: 1em; margin: 0; vertical-align: middle; border: 1px solid #555; background-color: #92ffffff;\"></div></div></div>" | |
], | |
"text/plain": [ | |
"<matplotlib.colors.ListedColormap at 0x7f453a7c2f90>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"# space, min_l, max_l, idx = \"CAM02-UCS\", 0, 100, 0\n", | |
"# space, min_l, max_l, idx = \"XYZ1\", 0, 1, 1\n", | |
"space, min_l, max_l, idx = \"JCh\", 0, 100, 0\n", | |
"\n", | |
"colors = cspace_convert(cm.tab10.colors, \"sRGB1\", space)\n", | |
"names = [\n", | |
" *[\"blue\", \"orange\", \"green\", \"red\", \"purple\"],\n", | |
" *[\"brown\", \"pink\", \"gray\", \"olive\", \"cyan\"],\n", | |
"]\n", | |
"\n", | |
"\n", | |
"def color_range(color: np.ndarray, n: int = 100) -> np.ndarray:\n", | |
" new = np.zeros((n, 3))\n", | |
" a_idx, b_idx = (i for i in range(3) if i != idx)\n", | |
" new[:, idx] = np.linspace(min_l, max_l, n)\n", | |
" new[:, [a_idx, b_idx]] = color[[a_idx, b_idx]]\n", | |
" return new\n", | |
"\n", | |
"\n", | |
"cmaps = [\n", | |
" ListedColormap(\n", | |
" np.clip(cspace_convert(color_range(color), space, \"sRGB1\"), 0, 1), name\n", | |
" )\n", | |
" for name, color in zip(names, colors, strict=True)\n", | |
"]\n", | |
"\n", | |
"for cmap in cmaps:\n", | |
" display(cmap)" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "hv-anndata", | |
"language": "python", | |
"name": "hv-anndata" | |
}, | |
"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.13.7" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 5 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment