Skip to content

Instantly share code, notes, and snippets.

@sergiobuj
Last active December 26, 2015 02:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sergiobuj/7076810 to your computer and use it in GitHub Desktop.
Save sergiobuj/7076810 to your computer and use it in GitHub Desktop.
Chart cloning 0
Week cat dog fish
2012-01-01 - 2012-01-07 56 92 59
2012-01-08 - 2012-01-14 59 91 56
2012-01-15 - 2012-01-21 55 91 56
2012-01-22 - 2012-01-28 56 89 54
2012-01-29 - 2012-02-04 58 89 55
2012-02-05 - 2012-02-11 60 94 54
2012-02-12 - 2012-02-18 56 98 54
2012-02-19 - 2012-02-25 58 91 58
2012-02-26 - 2012-03-03 59 85 54
2012-03-04 - 2012-03-10 56 86 56
2012-03-11 - 2012-03-17 54 87 54
2012-03-18 - 2012-03-24 54 87 55
2012-03-25 - 2012-03-31 55 86 56
2012-04-01 - 2012-04-07 57 89 59
2012-04-08 - 2012-04-14 54 89 54
2012-04-15 - 2012-04-21 55 91 55
2012-04-22 - 2012-04-28 57 87 56
2012-04-29 - 2012-05-05 61 92 57
2012-05-06 - 2012-05-12 57 91 56
2012-05-13 - 2012-05-19 55 85 57
2012-05-20 - 2012-05-26 54 87 56
2012-05-27 - 2012-06-02 54 88 56
2012-06-03 - 2012-06-09 57 88 56
2012-06-10 - 2012-06-16 55 87 55
2012-06-17 - 2012-06-23 55 88 56
2012-06-24 - 2012-06-30 57 92 57
2012-07-01 - 2012-07-07 55 94 56
2012-07-08 - 2012-07-14 58 94 59
2012-07-15 - 2012-07-21 58 96 57
2012-07-22 - 2012-07-28 58 92 56
2012-07-29 - 2012-08-04 56 93 55
2012-08-05 - 2012-08-11 57 94 55
2012-08-12 - 2012-08-18 58 100 55
2012-08-19 - 2012-08-25 58 99 56
2012-08-26 - 2012-09-01 59 93 54
2012-09-02 - 2012-09-08 59 92 57
2012-09-09 - 2012-09-15 58 93 53
2012-09-16 - 2012-09-22 59 91 52
2012-09-23 - 2012-09-29 61 92 52
2012-09-30 - 2012-10-06 59 91 52
2012-10-07 - 2012-10-13 59 91 51
2012-10-14 - 2012-10-20 58 89 50
2012-10-21 - 2012-10-27 64 88 51
2012-10-28 - 2012-11-03 62 85 47
2012-11-04 - 2012-11-10 57 88 46
2012-11-11 - 2012-11-17 60 89 48
2012-11-18 - 2012-11-24 61 95 48
2012-11-25 - 2012-12-01 64 92 49
2012-12-02 - 2012-12-08 65 89 49
2012-12-09 - 2012-12-15 66 89 48
2012-12-16 - 2012-12-22 63 88 48
2012-12-23 - 2012-12-29 67 97 54
2012-12-30 - 2013-01-05 63 99 58
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": ""
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "heading",
"level": 1,
"metadata": {},
"source": [
"Learning by cloning with matplotlib -2-"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# An article from Asymco.com shows a graph where they try to show the\n",
"# revenues of the Apple software sales.\n",
"# I will try to clone the second graph [made with Numbers, as noted in the article]. \n",
"from IPython.core.display import Image\n",
"Image(url=\"http://www.asymco.com/wp-content/uploads/2013/10/Screen-Shot-2013-10-24-at-10-24-5.08.54-PM.png\")\n",
"# Image Source: Asymco.com"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<img src=\"http://www.asymco.com/wp-content/uploads/2013/10/Screen-Shot-2013-10-24-at-10-24-5.08.54-PM.png\"/>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 1,
"text": [
"<IPython.core.display.Image at 0x10ebc7710>"
]
}
],
"prompt_number": 1
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Source: <a href='http://www.asymco.com/2013/10/24/the-value-of-zero-priced-software/' target='_blank'>The value of zero-priced software</a>"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Imports are the same as last time\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"\n",
"# this is a chart with four different bar plots overlapping.\n",
"\n",
"# first! the X and Y axis\n",
"millions = [x*100 for x in range(10)]\n",
"# I will be lazy here and compose the quarters in three steps\n",
"quarters = ['Q' + qrt + '0' + str(year) for year in range(6, 10) for qrt in '1234']\n",
"quarters += ['Q' + qrt + str(year) for year in range(10, 14) for qrt in '1234']\n",
"quarters = ['Q405'] + quarters[:-2]\n",
"# create the figure\n",
"fig, axis1 = plt.subplots(figsize=(9, 6), dpi=75)\n",
"\n",
"# set the Y ticks and set the limits of the graph\n",
"plt.yticks(millions, size=13)\n",
"plt.ylim((0, 900))\n",
"plt.xlim((0, len(quarters)))\n",
"\n",
"# set the X ticks\n",
"plt.xticks(range(len(quarters)))\n",
"axis1.set_xticklabels(quarters, rotation='270', ha='left', size=11)\n",
"from matplotlib.ticker import FormatStrFormatter\n",
"# This is the printf like formatter, I am using it to display the '$'\n",
"currency_format = FormatStrFormatter('$%d')\n",
"# ant tell it where to use apply it\n",
"axis1.yaxis.set_major_formatter(currency_format)\n",
"\n",
"# set the horizontal grid along the Y axis\n",
"axis1.yaxis.grid(True, linestyle='-', which='major', color='grey', alpha=0.5)\n",
"# and we know this happens\n",
"axis1.set_axisbelow(True)\n",
"\n",
"# name the graph\n",
"plt.title('Components of Software Sales', size=14)\n",
"\n",
"# clean the spines\n",
"axis1.spines['top'].set_visible(False)\n",
"axis1.spines['right'].set_visible(False)\n",
"axis1.spines['left'].set_visible(False)\n",
"axis1.yaxis.set_ticks_position('none') # This is still great!\n",
"axis1.xaxis.set_ticks_position('none')\n",
"\n",
"# the title needs to a few pixels up\n",
"title_pos = axis1.title.get_position() # returns a pair (x,y)\n",
"new_title_pos = (title_pos[0], title_pos[1]+0.05) # .05 was trial and error\n",
"axis1.title.set_position(new_title_pos)\n",
"\n",
"# Here comes the part that got me thinking about cloning this graph,\n",
"# since I don't have any data to reproduce it and the article does not\n",
"# tell where to get it.\n",
"x_range_len = float(len(quarters))\n",
"\n",
"from numpy import arange\n",
"pro_apps = arange(100, 400, 300/x_range_len).tolist()\n",
"os_x = arange(200, 550, 350/x_range_len).tolist()\n",
"iwork = arange(250, 700, 450/x_range_len).tolist()\n",
"ios_apps = arange(-100, 850, 950/x_range_len).tolist()\n",
"\n",
"x_range = range(len(quarters))\n",
"plt.bar(x_range, ios_apps, color='#dd7533', zorder=1, edgecolor='none', width=1, label='iOS Apps (incl. iWork iOS)')\n",
"plt.bar(x_range, iwork, color='#d8b624', zorder=2, edgecolor='none', width=1, label='iWork')\n",
"plt.bar(x_range, os_x, color='#8abe60', zorder=3, edgecolor='none', width=1, label='OS X')\n",
"plt.bar(x_range, pro_apps, color='#81a2b2', zorder=4, edgecolor='none', width=1, label='Pro Apps')\n",
"\n",
"# set the legend\n",
"axis1.legend(loc='upper left', frameon=False, fontsize='medium',\n",
" handlelength=0.9, handleheight=0.9) \n",
"# modify handle length and height to create squares\n",
"\n",
"# add padding to the y\n",
"axis1.yaxis.set_tick_params(pad=12)\n",
"\n",
"# place the copyright mark using LaTeX\n",
"plt.text(1, 920, r'$\\copyright$ /\\symco', size=12) # position, trial and error\n",
"\n",
"plt.show()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\njQbAw0alc1vn8X2N3RPe8iEiIhoe+v1L6kJDQ5GdnY2mpiZcvny5z+MjIiJQWVkJi8Vi21ZSUgKj\n0QgACA8Ph6+vL86fP2+3X6VSQafTDeQciIiIaBjptXnJyMhAXV0dhBAQQiA/Px9arRZhYWEAAKvV\nCqvVio6ODjx48ABWqxXt7e0AgJiYGAQHByMtLQ1WqxWlpaXIycmByWQCAKhUKqxbtw7p6emor6/H\n7du3sX37diQlJbllsS4RERHJodfmpampCdHR0XjhhReQkpKCrKwsFBQU2G75+Pn5wc/PD9euXUNy\ncjL8/PzwxhtvPBzY2xvHjx/HxYsXMXbsWCxfvhzbtm3DmjVrbONnZmZCp9NBp9MhPDwcBoMBe/bs\nceHpEhERkey8hBCir4OKi4tRXV2NxMTEoahpUHYePe7uEoiIiMiJ0l+M73F7v95tFBMT49RiiIiI\niAaLb5UmIiIiqbB5ISIiIqmweSEiIiKpsHkhIiIiqbB5ISIiIqmweSEiIiKpsHkhIiIiqbB5ISIi\nIqmweSEiIiKpsHkhIiIiqbB5ISIiIqmweSEiIiKpsHkhIiIiqbB5ISIiIqmweSEiIiKpsHkhIiIi\nqbB5ISIiIqmweSEiIiKpsHkhIiIiqbB5ISIiIqmweSEiIiKpsHkhIiIiqbB5ISIiIqmweSEiIiKp\nsHkhIiIiqQxZ81JUVITDhw8P1ZcjIiIiD+Xy5uX69etYsWIFEhISsHnzZuj1emRlZdn2/+1vf4PB\nYICfnx+mTZuGzz77zNUlERERkcRGuvoLpKamQgiB3Nxc1NXVYc6cObhy5QoA4OrVq0hISMCBAwew\nZs0aHDt2DD/5yU9QXl6O4OBgV5dGREREEnL5lZfy8nKsWLECarUaI0aMgF6vx7JlywAAR44cwcyZ\nM7F27VqMHDkSa9euRWRkJI4cOeLqsoiIiEhSLm9eZs2ahczMTBQXF6Otrc1uX1lZGaKiouy2RUZG\noqyszNVlERERkaRc3rzs3bsXCxcuRHZ2NkwmE+bOnYtz584BAO7duwd/f3+74/39/WE2m11dFhER\nEUnK5WtetFotsrKykJCQgFOnTqG2thZxcXGorq6GRqNBY2Oj3fGNjY3dGhoiIiKiTi5vXh4VGhqK\ntLQ0HDlyBN988w0iIiJw+vRpu2NKSkqwePHiAY/dceU8duzY4axSiYiIyM06rryG119/vdt2LyGE\ncOUXzsjIQGJiIioqKlBdXQ0hBH75y1+itrYW9fX1mDZtGg4ePIhVq1bhz3/+M0wmE/773/8iKCjI\nlWURERGRpFx+5aWpqQnR0dEwm82wWq0ICQlBQUEBNBoNNBoNPv74Y/zqV79CcnIyJk+ejMLCQjYu\nRERE9INcfuWlU3FxMaqrq5GYmDgUX46IiIg81JA1L0RERETOMKQLdodaVVUVLly4AC8vL0ybNm1Q\nv7XX0TGGe14JNcieV0INsueVUIPseSXUIHteCTXInrcRHqilpUWsX79eqNVqYTQahdFoFGq1WiQn\nJwur1TokYwz3vBJqkD2vhBpkzyuhBtnzSqhB9rwSapA939WQvVV6KKWlpcFisaCmpgalpaUoLS1F\nbW0tLBYL0tLShmSM4Z5XQg2y55VQg+x5JdQge14JNcieV0INsue7GXC7I4GQkJAeO7n79++LyZMn\nD8kYwz2vhBpkzyuhBtnzSqhB9rwSapA9r4QaZM935XFXXtra2uDl5YXHHnus2z4fHx+MGjXK5WMM\n97wSapA9r4QaZM8roQbZ80qoQfa8EmqQPd8Tj2teTCYTrl27hosXL3bbV15eDpVK5fIxhnteCTXI\nnldCDbLnlVCD7Hkl1CB7Xgk1yJ7v0YCv1Sjc888/LwoLC8XEiRPFvn37RElJiSgpKRHZ2dkiMDBQ\nFBYWunyM4Z5XQg2y55VQg+x5JdQge14JNcieV0INsud74nHNy/3794UQQnz66aciJiZG+Pv7i8cf\nf1wsXLhQfPnllwMeY/78+QMeQ0n5wcyBo1/f2ecg4xwobQ5lnANnz+FwnAN+Hrr/e8DZ5yDjHDhj\nDrvyuOblUdOnTxebNm0S33///YCzbW1tPW5vamoS165d6zP/61//WjQ0NHTb/vXXX/ery/zwww/F\n1atXu21vaWkRpaWlfeY7DXYOHD1/ITgHjp6/EJwDZ52/EJwDfh7y81AIeX8OuvLo5mXSpEnigw8+\nEFFRUeLMmTMDyk6YMKHH7V9++aWYP39+n3k/Pz8xffp0UVdXZ7f95s2bIioqqs/8tGnT7FZmX79+\nXQghRGtrq4iMjOwz32mwc+Do+QvBOXD0/IXgHDjr/IXgHPDzkJ+HQsj7c9CVR/+GXQBYv349YmNj\nsWHDBhQWFuKNN96Ar69vn7kHDx6gqKgIXl5eEI+8QcFisaC0tLTPvE6nw4YNG/DMM8/gs88+w5NP\nPgkAGD9+PO7fv99n3tvb225l9tKlS/Gf//wHI0eOREdHR5/5Rw1mDhw9f4Bz4Oj5A5wDZ54/wDng\n5yE/DwE5fw668sjmpXOCrVYrioqKAACpqak4evQooqKiUF5e3ucYTU1N2Lp1a4/7wsLC+lWHyWSC\nj48PFixYgMLCQuj1epjNZrt/+B/S0dGBBw8ewMfHBxaLBVevXsX9+/fh4+ODBw8e9Jl3dA6ccf4A\n58CR8wc4B46eP8A54OehMr4HAM6Bo5+Hj/LI5uWVV16BEAJ37961m2wvLy/4+fn1a4wnnngC//rX\nvxyuZf369dBqtZg3bx5mz56NiooKbNy4sc/cs88+i6SkJDz33HPIz8/H4sWLsWrVKqhUKvz4xz/u\nM+/oHDjr/AHOwWDPH+AcOHr+AOeAn4fK+R4AOAeOfB7aGfCNJolEREQMOrtjxw6Hvvbhw4ft/n7z\n5k2Rl5fX75XVra2tYufOnWL58uVi9+7dQgghjh49Kn7/+98Li8XS7zoGOweOnr8QnANHz18IzoGz\nzl8I983BoUOH7P4u28+BEJwDZ3weDvc5cPT8u/ISYhDXa4iIiIjcxCNvGwHAt99+i4KCAtTU1AAA\nJk6ciNWrV+NHP/rRkI0x3PNKqEH2vBJqkD3v6Bjt7e0YMWJEt+1msxn37t3DU0895dF5JdQge14J\nNcie78rjXg8AADk5OZg3bx6qq6sRFBSEoKAg1NbWYt68eThw4MCQjDHc80qoQfa8EmqQPe+MMYKD\ng3vcfuHCBfzsZz/z+LwSapA9r4QaZM935ZG3jUJDQ3Hu3Dk8/vjjdtvv3LmD2bNn45tvvnH5GMM9\nr4QaZM8roQbZ884Y44knnsCxY8d6fER07dq1aGxs9Oi8EmqQPa+EGmTPd+Wxt43GjBnT47aB9GqO\njjHc80qoQfa8EmqQPe/oGI4+Iip7Xgk1yJ5XQg2y57vyyOZlyZIliIuLwy9+8QsEBQUBAGpra3Hg\nwAHExcUNyRjDPa+EGmTPK6EG2fPOGMPRR0RlzyuhBtnzSqhB9nw3g3pGSeE6OjpEbm6uWLZsmZg+\nfbqYPn26WLZsmcjNzRUdHR39GqO9vV3k5uaK5cuXD2oM2fPOmENHx3B33t3/Bkqowd3/Bkr4PnT0\nEVHZ80qoQfa8EmqQPd+VR655ISIiIs814vXXX3/d3UU423vvvYegoCCo1Wo0Nzfjq6++QlVVle3P\npEmT+jVObW0t3n//feTn5+Pvf/87amtrodfr4ePjMyzyP+Tdd9/t9283ddUYQ5Fva2vD/v37cejQ\nIVgsFhgMBpw9exZfffUVwsPDe3zsz5l5JdRQV1eHUaNGYeTIkRBC4PDhwzh48CCuXbsGo9EIb+/e\nH1h0d95ZY3z77bc4ePAg8vPzcfLkSVy8eBFPPfUURo8e3WfWE/Lt7e09zpPZbMadO3eg0Wg8Or91\n61ZERUV1+020//znP/Hvf/8ber2+17wzxnB3Pi8vDxqNptv3jNVqxcWLFzF+/HiX5rtx6nUchTAY\nDLbLwWazWWg0GjFz5kwxc+ZMoVKp+jVGbm6uMBgMIjk5WUyaNEn8/Oc/F0lJSSIkJKRfrx+XPX/2\n7Nkf3Gc0GvvMO2MMd+c3bdoklixZIt566y0xZ84c8corr4jIyEgxe/ZssWHDBpfnlVDDlClTRGNj\noxBCiFdffVVER0eLjIwMsWTJEpGSkqL4vDPG+MMf/iACAwPF5s2bRUZGhsjIyBBbtmwRgYGBIicn\nx+PzQvzwG4XPnj3brzcKy553xhuRHR3D3fmub7W+ceOGEKL/b7V2NN+VRzYvXf/H9Ojf+/s/3qlT\np4rm5mYhhBC3bt0SS5cuFUII8fXXX4vo6GiPzwcGBgqdTid2795t+ybr1N85dHQMd+cNBoNobW0V\nQjxsgtVqtbh3755ob28XU6ZMcXleCTUYDAbbfxuNRvH9998LIYRoa2sTU6dOVXzeGWNMnjxZ1NfX\nd9ve0NAgQkNDPT4vhBDjxo0Tp0+fFkVFReL06dO2PydOnBD+/v4enzcajWL//v3CYDB0+yzp7/eh\no2O4O9/1tQKP/r0/n6eO5rvyyKeN2tra8N1332HMmDGoqqqye414f3l7e0OtVgN4uEr6xo0bAICn\nn34ad+7c8fh8TU0NPv30U3zwwQfYtWsXFixYgOTkZKxYsaLPrLPGcHfe29sbI0c+/BFRq9Xw8/OD\nSqWy2+7KvFJqqKmpQVBQELRard2jxa2trVLknTGGux/3dnfe3Y/JujsPOOeNyI6O4c68o2+1dsYb\n4h/lkc3LSy+9hPnz52Px4sUoLCxEenq6bZ+vr2+/xggJCcHOnTsRGxuLjz76CFFRUQAe/gMMh7yX\nlxdiY2MRGxuL7777Dh9++CF27tyJjRs3wmq1DskY7s4HBwfjtddew9KlS5GXl4cpU6bAZDJBq9Vi\nwoQJLs8roYbXXnsNMTEx2LhxI55++mnExcVh5cqV+PzzzxEfH6/4vDPGcPfj3u7OA+5/TNbd+U7O\neCOyo2O4K+/oW62d8YZ4OwO+ViOJTz75ROzYsUN8/vnng8rfvn1brFu3TkydOlUkJyeLu3fvCiGE\nuHPnjjh58qTH53/I+fPnRWpq6qDzzhhjqPI3btwQL7zwgjAYDGLz5s3iwYMHYvfu3WLTpk3dLru6\nIq+UGkpLS8WLL74oIiMjRUREhIiPjxf5+fn9yioh7+gY7n7c2915Idz/mKy78854Q7yjY7g77+hb\nrZ35hngh+Kg0ERERScYjX8xIREREnovNCxEREUmFzQsRERFJhc0LERERSYXNCxEREUnl/4Z3IsfD\ndR7oAAAAAElFTkSuQmCC\n",
"text": [
"<matplotlib.figure.Figure at 0x110397750>"
]
}
],
"prompt_number": 2
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Things missing:\n",
" 1. DATA!!!\n",
" 2. The legend has some padding between the items, have to learn how to compact it a bit.\n",
"\n",
"## Still this thing missing:\n",
" 1. figure out how to use the cells properly in the IPython notebook.\n",
"\n",
"I failed to clone this graph, I tried to get the looking but without the\n",
"raw data there is nothing I can do to get that done.\n",
"\n",
"\n",
"sbuj"
]
}
],
"metadata": {}
}
]
}
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment