{ "cells": [ { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import palettable\n", "\n", "def get_colormaps(collection, suffix):\n", " for palette in collection.__dict__:\n", " if palette.endswith(suffix):\n", " yield getattr(collection, palette)\n", " " ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BrBG\n", "PiYG\n", "PRGn\n", "PuOr\n", "RdBu\n", "RdGy\n", "RdYlBu\n", "RdYlGn\n", "Spectral\n" ] } ], "source": [ "div = palettable.colorbrewer.diverging\n", "for palette in get_colormaps(div, '11'):\n", " print(palette.name)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accent\n", "Dark2\n", "Paired\n", "Pastel1\n", "Pastel2\n", "Set1\n", "Set2\n", "Set3\n" ] } ], "source": [ "qual = palettable.colorbrewer.qualitative\n", "for palette in get_colormaps(qual, '8'):\n", " print(palette.name)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Blues\n", "BuGn\n", "BuPu\n", "GnBu\n", "Greens\n", "Greys\n", "Oranges\n", "OrRd\n", "PuBu\n", "PuBuGn\n", "PuRd\n", "Purples\n", "RdPu\n", "Reds\n", "YlGn\n", "YlGnBu\n", "YlOrBr\n", "YlOrRd\n" ] } ], "source": [ "seq = palettable.colorbrewer.sequential\n", "for palette in get_colormaps(seq, '9'):\n", " print(palette.name)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": true }, "outputs": [], "source": [ "head = \"\"\"\n", "\n", "\n", "\"\"\"\n", "\n", "template = '\\n'\n", " \n", "tail = \"\"\n" ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [], "source": [ "def start_table():\n", " f = open('allen.soc', 'w')\n", " f.write(head)\n", " return f\n", "\n", "def write_colormap(f, colormap):\n", " for i, color in enumerate(colormap.hex_colors):\n", " name = colormap.name + str(i+1)\n", " line = template % (name, color)\n", " f.write(line)\n", "\n", "next_level = 255\n", "\n", "def write_line(name, color):\n", " line = template % (name, color)\n", " f.write(line)\n", "\n", "def write_grays(f, gray, n):\n", " hex_gray = '%0.2x' % gray\n", " name = 'gray%d' % gray\n", " color = '#%s%s%s' % (hex_gray, hex_gray, hex_gray)\n", " write_line(name, color)\n", " \n", " for i in range(1, n):\n", " name = 'blank%d' % (gray-i)\n", " color = '#ffffff'\n", " write_line(name, color)\n", " \n", "def end_table(f):\n", " f.write(tail)\n", " f.close()" ] }, { "cell_type": "code", "execution_count": 93, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "\n", "def gen_grays(num):\n", " grays = np.linspace(255, 0, num).astype(int)\n", " for gray in grays:\n", " yield gray" ] }, { "cell_type": "code", "execution_count": 94, "metadata": { "collapsed": true }, "outputs": [], "source": [ "seq_maps = list(get_colormaps(seq, '9'))\n", "qual_maps = list(get_colormaps(qual, '8'))\n", "div_maps = list(get_colormaps(div, '11'))" ] }, { "cell_type": "code", "execution_count": 95, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "8" ] }, "execution_count": 95, "metadata": {}, "output_type": "execute_result" } ], "source": [ "num = len(seq_maps + qual_maps + div_maps)\n", "len(qual_maps)" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [], "source": [ "f = start_table()\n", "\n", "grays = gen_grays(num)\n", "\n", "def write_maps(f, maps, grays, n):\n", " for colormap in maps:\n", " gray = next(grays)\n", " write_grays(f, gray, n)\n", " write_colormap(f, colormap)\n", " \n", "write_maps(f, seq_maps, grays, 3)\n", "write_maps(f, qual_maps, grays, 4)\n", "write_maps(f, div_maps, grays, 1)\n", "\n", "end_table(f)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "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.6.1" } }, "nbformat": 4, "nbformat_minor": 2 }