Skip to content

Instantly share code, notes, and snippets.

@davipatti
Last active February 21, 2016 23:13
Show Gist options
  • Save davipatti/7d51f17af7c06ce09f45 to your computer and use it in GitHub Desktop.
Save davipatti/7d51f17af7c06ce09f45 to your computer and use it in GitHub Desktop.
colour alphabet translator
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"import matplotlib.patches as patches"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"colour_alphabet = {\n",
" \"A\": \"#edc6ca\",\n",
" \"B\": \"#4a64bc\",\n",
" \"C\": \"#3948a9\",\n",
" \"D\": \"#100e0c\",\n",
" \"E\": \"#dabfe4\",\n",
" \"F\": \"#30574c\",\n",
" \"G\": \"#5ea84d\",\n",
" \"H\": \"#d95d05\",\n",
" \"I\": \"#c1e7f3\",\n",
" \"J\": \"#dc7d41\",\n",
" \"K\": \"#a19b04\",\n",
" \"L\": \"#89bc0a\",\n",
" \"M\": \"#62132d\",\n",
" \"N\": \"#cf3ea0\",\n",
" \"O\": \"#d4edca\",\n",
" \"P\": \"#602495\",\n",
" \"Q\": \"#7ec09d\",\n",
" \"R\": \"#ce2619\",\n",
" \"S\": \"#818cd0\",\n",
" \"T\": \"#4b8b8b\",\n",
" \"U\": \"#f2f597\",\n",
" \"V\": \"#36511e\",\n",
" \"W\": \"#9d5912\",\n",
" \"X\": \"#954b45\",\n",
" \"Y\": \"#e9dc02\",\n",
" \"Z\": \"#6b6862\"\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"poem = \"The King in the hill sleeps\\nWe are his dream\\nHe wakes weeping\""
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def string_to_colour(string, filepath):\n",
" \"\"\"Write a string in colours\"\"\"\n",
" fix, ax = plt.subplots(figsize=(10,5))\n",
" lines = poem.split('\\n')\n",
" for line_no, line in enumerate(lines):\n",
" for char_no, character in enumerate(line):\n",
" if character != \" \":\n",
" ax.add_patch(patches.Rectangle((char_no, -1.5 * line_no), 1, 1, # width, height\n",
" facecolor=colour_alphabet[character.upper()],\n",
" edgecolor='none'))\n",
" for loc in ['bottom', 'top', 'right', 'left']:\n",
" ax.spines[loc].set_alpha(0)\n",
" ax.set_aspect(1)\n",
" plt.ylim(-1.5 * len(lines) + 1, 1)\n",
" plt.xlim(0, max([len(a) for a in lines]))\n",
" ax.get_xaxis().set_visible(False)\n",
" ax.get_yaxis().set_visible(False)\n",
" plt.savefig(filepath)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAABrCAYAAABzG1j8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAA69JREFUeJzt3L+L1wUcx/H3p66zoQy5weCWgm4+Vw3hwPXEmg4crlIU\nEZoOHRpuaHCQS2ehBINoclAcmqJ0KAgHD1wOxFrkBrmWmj/9Bd+Py/voevV4rG94fb987wdPPnA3\njONYAADJXvu33wAAwH4TPABAPMEDAMQTPABAPMEDAMQTPABAvLmp4+rWVvvfrN/Y/qJ7soZzz1v3\nllYWW/eqqr79+o32zfdW/2zdO7x2t3Wvqurm5f7NO2v3W/ce7v7Vule1P5/lsZ8/ad1b3dpq3av6\n//5876zPt2/uXt9r3fv16dHWvf1y9dTfrXtffvWkda+q6s1jJ9o3P359p32z27UL99o337/0Yeve\n5sbyMOvmCQ8AEE/wAADxBA8AEE/wAADxBA8AEE/wAADxBA8AEE/wAADxBA8AEE/wAADxBA8AEE/w\nAADxBA8AEE/wAADxBA8AEE/wAADxBA8AEE/wAADxBA8AEG8Yx3HqPnkEADhAhlkHT3gAgHiCBwCI\nJ3gAgHiCBwCIJ3gAgHiCBwCIJ3gAgHiCBwCIJ3gAgHiCBwCINzd1vH12of0FT17cbt9cWlls3dv7\n5bfWvaqqPz4907751q3e99n9OVZV7azPt2/uXt9r3fvpu2ete1VVmxvL7ZtH3nm7de/Hd3v3qvq/\nJ6uqFg69aN27cvp8615V1Tcv+3+vAb084QEA4gkeACCe4AEA4gkeACCe4AEA4gkeACCe4AEA4gke\nACCe4AEA4gkeACCe4AEA4gkeACCe4AEA4gkeACCe4AEA4gkeACCe4AEA4gkeACCe4AEA4g3jOE7d\nJ48AAAfIMOvgCQ8AEE/wAADxBA8AEE/wAADxBA8AEE/wAADxBA8AEE/wAADxBA8AEE/wAADx5qaO\nO+vz7S84nHvevrm0sti6d/vsQuteVdVHn//Qvvng6YnWveMf/N66V1X1/eOX7ZubG8ute/vx9T55\ncbt9s9u1C/faNz97tN6+eXjtbuvezcu9e1VVd9but28CvTzhAQDiCR4AIJ7gAQDiCR4AIJ7gAQDi\nCR4AIJ7gAQDiCR4AIJ7gAQDiCR4AIJ7gAQDiCR4AIJ7gAQDiCR4AIJ7gAQDiCR4AIJ7gAQDiCR4A\nIJ7gAQDiDeM4Tt0njwAAB8gw6+AJDwAQT/AAAPEEDwAQT/AAAPEEDwAQT/AAAPEEDwAQT/AAAPEE\nDwAQT/AAAPHmXnGf+S+aAQD+KzzhAQDiCR4AIJ7gAQDiCR4AIJ7gAQDiCR4AIN4/Fl1h0IwMySIA\nAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10dc0ee90>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"string_to_colour(poem, \"poem.png\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"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.11"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment