diff --git a/docs/tutorial.rst b/docs/tutorial.rst index cdb3fe0..63870cf 100644 --- a/docs/tutorial.rst +++ b/docs/tutorial.rst @@ -47,5 +47,8 @@ tutorial notebook introduces some advanced styling functionality that Logomaker Glyph ----- +The `glyphs `_ tutorial notebook +shows how Logomaker renders individual characters, or glyphs, and how to customize them. + diff --git a/logomaker/tutorials/6_glyphs.ipynb b/logomaker/tutorials/6_glyphs.ipynb new file mode 100644 index 0000000..bf70119 --- /dev/null +++ b/logomaker/tutorials/6_glyphs.ipynb @@ -0,0 +1,289 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Logomaker Glyph Tutorial" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Logomaker uses the [glyph](https://logomaker.readthedocs.io/en/latest/Glyph.html) class to render individual glyphs. This class also allows the user to customize each glyph according to their needs. We begin by importing useful packages" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "\n", + "%matplotlib inline\n", + "plt.ion()\n", + "\n", + "import sys\n", + "sys.path.append('../../')\n", + "\n", + "import logomaker\n", + "from logomaker import Glyph" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As an example, the following figure shows how to raw a single character." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=[7,3])\n", + "\n", + "# set bounding box\n", + "ax.set_xlim([0,2])\n", + "ax.set_ylim([0,1])\n", + "\n", + "Glyph(c='A', p=1,ceiling=1.0,floor=0.0, ax=ax)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the code snippet above, we have placed a single glyph at a specified location, with in a specified bounding box (specified by a Matplotlib Axes object `ax`). We now use the same bounding box as above, and use additional keywords to customize the glyph's appearance, and location within the bounding box." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=[7,3])\n", + "# set bounding box\n", + "ax.set_xlim([0,2])\n", + "ax.set_ylim([0,1])\n", + "\n", + "Glyph(c='A', \n", + " p=1, \n", + " width= 1.0, \n", + " alpha=.85, \n", + " ax = ax,\n", + " ceiling=0.9,\n", + " floor=0.05, \n", + " font_name = 'BiauKai',\n", + " color='dodgerblue', \n", + " edgecolor='red',\n", + " edgewidth=4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now place two glyphs next to each other and demonstrate the use of the keyword `flip`:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=[7,3])\n", + "# set bounding box\n", + "ax.set_xlim([0,2])\n", + "ax.set_ylim([0,1])\n", + "\n", + "Glyph(c='A', \n", + " p=0.5, \n", + " width= 1.0, \n", + " alpha=.85, \n", + " ax = ax,\n", + " ceiling=0.9,\n", + " floor=0.05, \n", + " font_name = 'BiauKai',\n", + " color='dodgerblue', \n", + " edgecolor='red',\n", + " edgewidth=4)\n", + "\n", + "Glyph(c='A', \n", + " p=1.3, \n", + " width= 1.25, \n", + " alpha=.85, \n", + " ax = ax,\n", + " ceiling=0.9,\n", + " floor=0.05, \n", + " font_name = 'Kai',\n", + " color='black', \n", + " edgewidth=4,\n", + " flip=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Generate Logo from string using Glyphs\n", + "\n", + "We have seen how customize single glyphs. We can use the glyph class in a loop to customize all the characters in a logo. The following snippet of code shows such an example:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=[15,3])\n", + "\n", + "# Style axes\n", + "s = 'LOGOMAKER'\n", + "ax.set_ylim([0,1])\n", + "ax.set_xlim([-.5,len(s)-.5])\n", + "#ax.axis('off')\n", + "\n", + "# Create a list of glyphs\n", + "glyphs = []\n", + "for p, c in enumerate(s):\n", + " g = Glyph(c=c, p=p,ax=ax, draw_now=False, ceiling=1,floor=0,color='black')\n", + " glyphs.append(g)\n", + " \n", + "# Modify a single glyph\n", + "g = glyphs[5]\n", + "g.color='dodgerblue'\n", + "g.floor=.5\n", + "g.font_name='Comic Sans MS'\n", + "g.flip=False\n", + "\n", + "# Draw all glyphs\n", + "for g in glyphs:\n", + " g.draw()" + ] + }, + { + "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.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}