{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Price of Storage\n", "\n", "Graph of the price of storage over time; data taken from http://www.mkomo.com/cost-per-gigabyte-update" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Unnamed: 0datedriveInfosizeInMbcostdollarsPerGb
001980 JanuaryMorrow Designs26.05000.0193000.0
111980 JulyNorth Star18.04199.0233000.0
221981 SeptemberApple5.03500.0700000.0
331981 NovemberSeagate5.01700.0340000.0
441981 DecemberVR Data Corp.6.32895.0460000.0
\n", "
" ], "text/plain": [ " Unnamed: 0 date driveInfo sizeInMb cost dollarsPerGb\n", "0 0 1980 January Morrow Designs 26.0 5000.0 193000.0\n", "1 1 1980 July North Star 18.0 4199.0 233000.0\n", "2 2 1981 September Apple 5.0 3500.0 700000.0\n", "3 3 1981 November Seagate 5.0 1700.0 340000.0\n", "4 4 1981 December VR Data Corp. 6.3 2895.0 460000.0" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "data = '../data/memory-price.csv'\n", "pd.read_csv(data).head()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n" ] }, "metadata": { "jupyter-vega": "#fc911397-17a0-4218-ac6c-98fef474ec39" }, "output_type": "display_data" }, { "data": { "application/javascript": [ "var spec = {\"transform\": {\"calculate\": [{\"expr\": \"datum.sizeInMb<1E3?\\\"MB\\\":datum.sizeInMb<1E6?\\\"GB\\\":\\\"TB\\\"\", \"field\": \"DriveSize\"}]}, \"encoding\": {\"y\": {\"scale\": {\"type\": \"log\"}, \"type\": \"quantitative\", \"axis\": {\"title\": \"Cost per GB\", \"grid\": false, \"format\": \"$\"}, \"field\": \"dollarsPerGb\"}, \"x\": {\"timeUnit\": \"year\", \"type\": \"temporal\", \"axis\": {\"title\": \" \"}, \"field\": \"date\"}, \"color\": {\"scale\": {\"domain\": [\"MB\", \"GB\", \"TB\"]}, \"type\": \"nominal\", \"field\": \"DriveSize\"}}, \"data\": {\"url\": \"../data/memory-price.csv\"}, \"mark\": \"circle\", \"config\": {\"cell\": {\"height\": 350, \"width\": 500}}};\n", "var selector = \"#fc911397-17a0-4218-ac6c-98fef474ec39\";\n", "var type = \"vega-lite\";\n", "\n", "var output_area = this;\n", "require(['nbextensions/jupyter-vega/index'], function(vega) {\n", " vega.render(selector, spec, type, output_area);\n", "}, function (err) {\n", " if (err.requireType !== 'scripterror') {\n", " throw(err);\n", " }\n", "});\n" ] }, "metadata": { "jupyter-vega": "#fc911397-17a0-4218-ac6c-98fef474ec39" }, "output_type": "display_data" }, { "data": { "image/png": "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qUzwBKSlQCUgQ5g+8U8BTnYbdm4163IbZv+eO/InfWRdERoBaSm0jA+vvbYQwE68sb3jbMP8T7gjx94L/J07CtFOLNFHBPoRkJb6Earpz2UI0yfWTKAd7r0ceI87DaAdxQyhnQjw3+nD6ooACUhLASZ9SE22FetfcaOCdrLEIveP1sXuiE07g12GcEjwaxZWWqpZQpM2R4YwKamZ5YzblcBfAWuzhdBVItAiIC1JCD4I2DuCNwIfBb4J3OeO1zzHzVpc645C9HEvxag3AWmp3vmds3UyhNkTb4fGrwA2Zg+hK0WgRUBakhB8EGiP7Hymw/wdA5znZjXsbGx9RCAJAWkpCaWalZEhrFlC1RwREAERmEVgBBgDNoiMCAxIQFoaEGCZL5chLHN2VDcREAEREAEREAERyIGADGEOkHULERABERABERABESgzARnCMmdHdRMBERABERABERCBHAjIEOYAWbcQAREQAREQAREQgTITkCEsc3ZUNxEQAREQAREQARHIgYAMYQ6QdQsREAEREAEREAERKDMBGcIyZ0d1EwEREAEREAEREIEcCMgQ5gBZtxABERABERABERCBMhOQISxzdlQ3ERABERABERABEciBgAxhDpB1CxEQAREQAREQAREoMwEZwjJnR3UTAREQAREQAREQgRwIyBDmAFm3EAEREAEREAEREIEyE5AhLHN2VDcREAEREAEREAERyIGADGEOkHULERABERABERABESgzARnCMmdHdRMBERABERABERCBHAjIEOYAWbcQAREQAREQAREQgTITkCEsc3ZUNxEQAREQAREQARHIgYAMYQ6QdQsREAEREAEREAER+P/t1jENAAAAwjD/rnFBdlQBpDyUBRzC8jq6ESBAgAABAgQOAg7hAVkEAQIECBAgQKAs4BCW19GNAAECBAgQIHAQGDIjFYJGlWDnAAAAAElFTkSuQmCC" }, "metadata": { "jupyter-vega": "#fc911397-17a0-4218-ac6c-98fef474ec39" }, "output_type": "display_data" } ], "source": [ "from altair import *\n", "\n", "DriveSize = Formula(field='DriveSize',\n", " expr=('{x}<1E3?\"MB\":{x}<1E6?\"GB\":\"TB\"'\n", " ''.format(x='datum.sizeInMb')))\n", "\n", "Chart(data).mark_circle().encode(\n", " x=X('date:T', timeUnit='year', axis=Axis(title=' ')),\n", " y=Y('dollarsPerGb:Q', scale=Scale(type='log'),\n", " axis=Axis(grid=False, format='$', title='Cost per GB')),\n", " color=Color('DriveSize:N',\n", " scale=Scale(domain=['MB', 'GB', 'TB']))\n", ").transform_data(\n", " calculate=[DriveSize]\n", ")" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3.5", "language": "", "name": "python3.5" }, "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.5.1" } }, "nbformat": 4, "nbformat_minor": 0 }