Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save kozo2/1794d62faf0b4db62bcf to your computer and use it in GitHub Desktop.

Select an option

Save kozo2/1794d62faf0b4db62bcf to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Finding and plotting the most heard artists on last.fm\n",
"\n",
"This notebook is a super basic use case of daru for finding a plotting the most heard artists from a dataset from last.fm.\n",
"\n",
"For detailed and in-depth examples see the other notebooks."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"application/javascript": [
"if(window['d3'] === undefined ||\n",
" window['Nyaplot'] === undefined){\n",
" var path = {\"d3\":\"https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min\",\"downloadable\":\"http://cdn.rawgit.com/domitry/d3-downloadable/master/d3-downloadable\"};\n",
"\n",
"\n",
"\n",
" var shim = {\"d3\":{\"exports\":\"d3\"},\"downloadable\":{\"exports\":\"downloadable\"}};\n",
"\n",
" require.config({paths: path, shim:shim});\n",
"\n",
"\n",
"require(['d3'], function(d3){window['d3']=d3;console.log('finished loading d3');require(['downloadable'], function(downloadable){window['downloadable']=downloadable;console.log('finished loading downloadable');\n",
"\n",
"\tvar script = d3.select(\"head\")\n",
"\t .append(\"script\")\n",
"\t .attr(\"src\", \"http://cdn.rawgit.com/domitry/Nyaplotjs/master/release/nyaplot.js\")\n",
"\t .attr(\"async\", true);\n",
"\n",
"\tscript[0][0].onload = script[0][0].onreadystatechange = function(){\n",
"\n",
"\n",
"\t var event = document.createEvent(\"HTMLEvents\");\n",
"\t event.initEvent(\"load_nyaplot\",false,false);\n",
"\t window.dispatchEvent(event);\n",
"\t console.log('Finished loading Nyaplotjs');\n",
"\n",
"\t};\n",
"\n",
"\n",
"});});\n",
"}\n"
],
"text/plain": [
"\"if(window['d3'] === undefined ||\\n window['Nyaplot'] === undefined){\\n var path = {\\\"d3\\\":\\\"https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min\\\",\\\"downloadable\\\":\\\"http://cdn.rawgit.com/domitry/d3-downloadable/master/d3-downloadable\\\"};\\n\\n\\n\\n var shim = {\\\"d3\\\":{\\\"exports\\\":\\\"d3\\\"},\\\"downloadable\\\":{\\\"exports\\\":\\\"downloadable\\\"}};\\n\\n require.config({paths: path, shim:shim});\\n\\n\\nrequire(['d3'], function(d3){window['d3']=d3;console.log('finished loading d3');require(['downloadable'], function(downloadable){window['downloadable']=downloadable;console.log('finished loading downloadable');\\n\\n\\tvar script = d3.select(\\\"head\\\")\\n\\t .append(\\\"script\\\")\\n\\t .attr(\\\"src\\\", \\\"http://cdn.rawgit.com/domitry/Nyaplotjs/master/release/nyaplot.js\\\")\\n\\t .attr(\\\"async\\\", true);\\n\\n\\tscript[0][0].onload = script[0][0].onreadystatechange = function(){\\n\\n\\n\\t var event = document.createEvent(\\\"HTMLEvents\\\");\\n\\t event.initEvent(\\\"load_nyaplot\\\",false,false);\\n\\t window.dispatchEvent(event);\\n\\t console.log('Finished loading Nyaplotjs');\\n\\n\\t};\\n\\n\\n});});\\n}\\n\""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"true"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"require 'daru'"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<table><tr><th colspan=\"7\">Daru::DataFrame:7723220 rows: 2500 cols: 6<tr><th></th><th>artid</th><th>artname</th><th>timestamp</th><th>traid</th><th>traname</th><th>userid</th></tr><tr><td>0</td><td>e1f1e33e-2e4c-4d43-b91b-7064068d3283</td><td>Kiss</td><td>2009-05-03T12:55:00Z</td><td>0138547f-374d-49d4-8f1c-9b2c8b5c65c0</td><td>X-Ray Eyes</td><td>user_000705</td></tr><tr><td>1</td><td>e1f1e33e-2e4c-4d43-b91b-7064068d3283</td><td>Kiss</td><td>2009-05-03T12:51:28Z</td><td>22ce9a32-3510-4c8e-8151-c044a62eb4fd</td><td>Hard Times</td><td>user_000705</td></tr><tr><td>2</td><td>e1f1e33e-2e4c-4d43-b91b-7064068d3283</td><td>Kiss</td><td>2009-05-03T12:46:55Z</td><td>22ce9a32-3510-4c8e-8151-c044a62eb4fd</td><td>Hard Times</td><td>user_000705</td></tr><tr><td>3</td><td>e1f1e33e-2e4c-4d43-b91b-7064068d3283</td><td>Kiss</td><td>2009-05-03T12:42:17Z</td><td>c386b85f-1bfe-4038-b323-cb8229ab2f8b</td><td>Magic Touch</td><td>user_000705</td></tr><tr><td>4</td><td>e1f1e33e-2e4c-4d43-b91b-7064068d3283</td><td>Kiss</td><td>2009-05-03T12:37:53Z</td><td>8ec9b4f8-2d1b-4616-9ae4-4711ca328fc3</td><td>Charisma</td><td>user_000705</td></tr><tr><td>5</td><td>e1f1e33e-2e4c-4d43-b91b-7064068d3283</td><td>Kiss</td><td>2009-05-03T12:33:37Z</td><td>ff47d82e-313d-4bd0-8e61-fe61124a361b</td><td>Dirty Livin'</td><td>user_000705</td></tr><tr><td>6</td><td>e1f1e33e-2e4c-4d43-b91b-7064068d3283</td><td>Kiss</td><td>2009-05-03T12:29:39Z</td><td>3621800b-87b7-43c6-b6a3-47ea4b658407</td><td>Sure Know Something</td><td>user_000705</td></tr><tr><td>7</td><td>e1f1e33e-2e4c-4d43-b91b-7064068d3283</td><td>Kiss</td><td>2009-05-03T12:24:46Z</td><td>91cc5010-e65b-4f49-94b5-1deed61cfcc7</td><td>2,000 Man</td><td>user_000705</td></tr><tr><td>8</td><td>e1f1e33e-2e4c-4d43-b91b-7064068d3283</td><td>Kiss</td><td>2009-05-03T12:20:17Z</td><td>daa13e72-9056-476f-b431-335b2c26842d</td><td>I Was Made For Lovin' You</td><td>user_000705</td></tr><tr><td>9</td><td>33b3c323-77c2-417c-a5b4-af7e6a111cc9</td><td>The Jimi Hendrix Experience</td><td>2009-05-03T12:16:20Z</td><td>1895c79d-ae5f-40bf-bc18-83fdcd8d2842</td><td>Burning Of The Midnight Lamp</td><td>user_000705</td></tr><tr><td>10</td><td>33b3c323-77c2-417c-a5b4-af7e6a111cc9</td><td>The Jimi Hendrix Experience</td><td>2009-05-03T12:12:35Z</td><td>1ae3c250-7b16-49d4-9c71-0928724eecce</td><td>Gypsy Eyes</td><td>user_000705</td></tr><tr><td>11</td><td>33b3c323-77c2-417c-a5b4-af7e6a111cc9</td><td>The Jimi Hendrix Experience</td><td>2009-05-03T12:08:26Z</td><td>fca63fe0-c9e6-4347-92b7-21f6cf79226c</td><td>Come On, Part 1</td><td>user_000705</td></tr><tr><td>12</td><td>33b3c323-77c2-417c-a5b4-af7e6a111cc9</td><td>The Jimi Hendrix Experience</td><td>2009-05-03T12:04:59Z</td><td>36beb31d-ed74-4a49-832f-a4a38dc96bab</td><td>Long Hot Summer Night</td><td>user_000705</td></tr><tr><td>13</td><td>33b3c323-77c2-417c-a5b4-af7e6a111cc9</td><td>The Jimi Hendrix Experience</td><td>2009-05-03T12:02:08Z</td><td>4ad6064e-7d54-49a2-a134-320a1612ee27</td><td>Little Miss Strange</td><td>user_000705</td></tr><tr><td>14</td><td>33b3c323-77c2-417c-a5b4-af7e6a111cc9</td><td>The Jimi Hendrix Experience</td><td>2009-05-03T11:47:07Z</td><td>40ffef8e-b851-473a-a239-08685eab22b0</td><td>Voodoo Chile</td><td>user_000705</td></tr><tr><td>15</td><td>33b3c323-77c2-417c-a5b4-af7e6a111cc9</td><td>The Jimi Hendrix Experience</td><td>2009-05-03T11:44:43Z</td><td>feb64d01-6e05-4974-bb44-0046deca1bdb</td><td>Crosstown Traffic</td><td>user_000705</td></tr><tr><td>16</td><td>33b3c323-77c2-417c-a5b4-af7e6a111cc9</td><td>The Jimi Hendrix Experience</td><td>2009-05-03T11:42:35Z</td><td>7f9b462a-8ac5-472d-a5aa-716b3b3d169c</td><td>Have You Ever Been (To Electric Ladyland)</td><td>user_000705</td></tr><tr><td>17</td><td>33b3c323-77c2-417c-a5b4-af7e6a111cc9</td><td>The Jimi Hendrix Experience</td><td>2009-05-03T11:41:13Z</td><td>88b57468-8d58-4310-b135-c94620fcfbc1</td><td>...And The Gods Made Love</td><td>user_000705</td></tr><tr><td>18</td><td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td><td>Death Cab For Cutie</td><td>2009-05-02T09:24:28Z</td><td>788878e0-8965-489e-86e3-add4c1f3d134</td><td>Line Of Best Fit</td><td>user_000705</td></tr><tr><td>19</td><td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td><td>Death Cab For Cutie</td><td>2009-05-02T09:19:58Z</td><td>7cfc403d-18e7-4b8e-b0c4-1864ca393fbb</td><td>Fake Frowns</td><td>user_000705</td></tr><tr><td>20</td><td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td><td>Death Cab For Cutie</td><td>2009-05-02T09:15:03Z</td><td>34a2d7ad-6b3a-4cfc-b4ca-edfc55a6685b</td><td>Amputations</td><td>user_000705</td></tr><tr><td>21</td><td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td><td>Death Cab For Cutie</td><td>2009-05-02T09:11:21Z</td><td>99db2ed6-4493-481c-ac20-54ad323cb04b</td><td>The Face That Launched 1000 Shits</td><td>user_000705</td></tr><tr><td>22</td><td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td><td>Death Cab For Cutie</td><td>2009-05-02T09:07:44Z</td><td>269084ba-3065-4b43-a733-f491e618b26a</td><td>Sleep Spent</td><td>user_000705</td></tr><tr><td>23</td><td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td><td>Death Cab For Cutie</td><td>2009-05-02T09:03:54Z</td><td>96fac269-5308-4aee-827f-d01a66674694</td><td>Pictures In An Exhibition</td><td>user_000705</td></tr><tr><td>24</td><td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td><td>Death Cab For Cutie</td><td>2009-05-02T08:59:34Z</td><td>c29440d9-03e6-4e18-91d6-ef8bf1e1ca32</td><td>Your Bruise</td><td>user_000705</td></tr><tr><td>25</td><td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td><td>Death Cab For Cutie</td><td>2009-05-02T08:56:55Z</td><td>ed55b695-976e-4898-8fde-51a8e3b0e262</td><td>Champagne From A Paper Cup</td><td>user_000705</td></tr><tr><td>26</td><td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td><td>Death Cab For Cutie</td><td>2009-05-02T08:49:07Z</td><td>c5238d6d-9b04-496c-8674-4ea7a07aecd6</td><td>President Of What?</td><td>user_000705</td></tr><tr><td>27</td><td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td><td>Death Cab For Cutie</td><td>2009-05-02T08:44:34Z</td><td>bf59dfef-03a8-4270-9456-50df79da56c2</td><td>Bend To Squares</td><td>user_000705</td></tr><tr><td>28</td><td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td><td>Death Cab For Cutie</td><td>2009-05-01T19:08:37Z</td><td>788878e0-8965-489e-86e3-add4c1f3d134</td><td>Line Of Best Fit</td><td>user_000705</td></tr><tr><td>29</td><td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td><td>Death Cab For Cutie</td><td>2009-05-01T19:04:07Z</td><td>7cfc403d-18e7-4b8e-b0c4-1864ca393fbb</td><td>Fake Frowns</td><td>user_000705</td></tr><tr><td>30</td><td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td><td>Death Cab For Cutie</td><td>2009-05-01T18:59:12Z</td><td>34a2d7ad-6b3a-4cfc-b4ca-edfc55a6685b</td><td>Amputations</td><td>user_000705</td></tr><tr><td>31</td><td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td><td>Death Cab For Cutie</td><td>2009-05-01T18:55:30Z</td><td>99db2ed6-4493-481c-ac20-54ad323cb04b</td><td>The Face That Launched 1000 Shits</td><td>user_000705</td></tr><tr><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td></tr><tr><td>2499</td><td>e0bba708-bdd3-478d-84ea-c706413bedab</td><td>A. R. Rahman</td><td>2009-01-12T15:26:51Z</td><td></td><td>Paper Planes (Dfa Remix)</td><td>user_000705</td></tr></table>"
],
"text/plain": [
"\n",
"#<Daru::DataFrame:7723220 @name = 4483d3e0-f973-4fdb-8806-1bb55958e595 @size = 2500>\n",
" artid artname timestamp traid traname userid \n",
" 0 e1f1e33e-2 Kiss 2009-05-03 0138547f-3 X-Ray Eyes user_00070 \n",
" 1 e1f1e33e-2 Kiss 2009-05-03 22ce9a32-3 Hard Times user_00070 \n",
" 2 e1f1e33e-2 Kiss 2009-05-03 22ce9a32-3 Hard Times user_00070 \n",
" 3 e1f1e33e-2 Kiss 2009-05-03 c386b85f-1 Magic Touc user_00070 \n",
" 4 e1f1e33e-2 Kiss 2009-05-03 8ec9b4f8-2 Charisma user_00070 \n",
" 5 e1f1e33e-2 Kiss 2009-05-03 ff47d82e-3 Dirty Livi user_00070 \n",
" 6 e1f1e33e-2 Kiss 2009-05-03 3621800b-8 Sure Know user_00070 \n",
" 7 e1f1e33e-2 Kiss 2009-05-03 91cc5010-e 2,000 Man user_00070 \n",
" 8 e1f1e33e-2 Kiss 2009-05-03 daa13e72-9 I Was Made user_00070 \n",
" 9 33b3c323-7 The Jimi H 2009-05-03 1895c79d-a Burning Of user_00070 \n",
" 10 33b3c323-7 The Jimi H 2009-05-03 1ae3c250-7 Gypsy Eyes user_00070 \n",
" 11 33b3c323-7 The Jimi H 2009-05-03 fca63fe0-c Come On, P user_00070 \n",
" 12 33b3c323-7 The Jimi H 2009-05-03 36beb31d-e Long Hot S user_00070 \n",
" 13 33b3c323-7 The Jimi H 2009-05-03 4ad6064e-7 Little Mis user_00070 \n",
" 14 33b3c323-7 The Jimi H 2009-05-03 40ffef8e-b Voodoo Chi user_00070 \n",
" ... ... ... ... ... ... ... \n"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"require 'open-uri'\n",
"content = open('https://raw.githubusercontent.com/v0dro/daru/master/spec/fixtures/music_data.tsv')\n",
"df = Daru::DataFrame.from_csv content, col_sep: \"\\t\""
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"ename": "ArgumentError",
"evalue": "Vector artname does not exist",
"output_type": "error",
"traceback": [
"\u001b[31mArgumentError\u001b[0m: Vector artname does not exist",
"\u001b[37m/var/lib/gems/2.2.0/gems/daru-0.1.1/lib/daru/dataframe.rb:1210:in `block in group_by'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/daru-0.1.1/lib/daru/dataframe.rb:1210:in `each'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/daru-0.1.1/lib/daru/dataframe.rb:1210:in `group_by'\u001b[0m",
"\u001b[37m(pry):6:in `<main>'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:355:in `eval'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:355:in `evaluate_ruby'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:323:in `handle_line'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:243:in `block (2 levels) in eval'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:242:in `catch'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:242:in `block in eval'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:241:in `catch'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:241:in `eval'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/iruby-0.2.8/lib/iruby/backend.rb:65:in `eval'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/iruby-0.2.8/lib/iruby/backend.rb:12:in `eval'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/iruby-0.2.8/lib/iruby/kernel.rb:87:in `execute_request'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/iruby-0.2.8/lib/iruby/kernel.rb:47:in `dispatch'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/iruby-0.2.8/lib/iruby/kernel.rb:37:in `run'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/iruby-0.2.8/lib/iruby/command.rb:70:in `run_kernel'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/iruby-0.2.8/lib/iruby/command.rb:34:in `run'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/iruby-0.2.8/bin/iruby:5:in `<top (required)>'\u001b[0m",
"\u001b[37m/usr/local/bin/iruby:23:in `load'\u001b[0m",
"\u001b[37m/usr/local/bin/iruby:23:in `<main>'\u001b[0m"
]
}
],
"source": [
"# Group by artist name and call 'size' to see the number of rows each artist populates.\n",
"artists = df.group_by(:artname).size"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"ename": "NoMethodError",
"evalue": "undefined method `max_index' for nil:NilClass",
"output_type": "error",
"traceback": [
"\u001b[31mNoMethodError\u001b[0m: undefined method `max_index' for nil:NilClass",
"\u001b[37m(pry):7:in `<main>'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:355:in `eval'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:355:in `evaluate_ruby'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:323:in `handle_line'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:243:in `block (2 levels) in eval'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:242:in `catch'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:242:in `block in eval'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:241:in `catch'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:241:in `eval'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/iruby-0.2.8/lib/iruby/backend.rb:65:in `eval'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/iruby-0.2.8/lib/iruby/backend.rb:12:in `eval'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/iruby-0.2.8/lib/iruby/kernel.rb:87:in `execute_request'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/iruby-0.2.8/lib/iruby/kernel.rb:47:in `dispatch'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/iruby-0.2.8/lib/iruby/kernel.rb:37:in `run'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/iruby-0.2.8/lib/iruby/command.rb:70:in `run_kernel'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/iruby-0.2.8/lib/iruby/command.rb:34:in `run'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/iruby-0.2.8/bin/iruby:5:in `<top (required)>'\u001b[0m",
"\u001b[37m/usr/local/bin/iruby:23:in `load'\u001b[0m",
"\u001b[37m/usr/local/bin/iruby:23:in `<main>'\u001b[0m"
]
}
],
"source": [
"artists.max_index"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"ename": "NoMethodError",
"evalue": "undefined method `sort' for nil:NilClass",
"output_type": "error",
"traceback": [
"\u001b[31mNoMethodError\u001b[0m: undefined method `sort' for nil:NilClass",
"\u001b[37m(pry):8:in `<main>'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:355:in `eval'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:355:in `evaluate_ruby'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:323:in `handle_line'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:243:in `block (2 levels) in eval'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:242:in `catch'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:242:in `block in eval'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:241:in `catch'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/pry-0.10.3/lib/pry/pry_instance.rb:241:in `eval'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/iruby-0.2.8/lib/iruby/backend.rb:65:in `eval'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/iruby-0.2.8/lib/iruby/backend.rb:12:in `eval'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/iruby-0.2.8/lib/iruby/kernel.rb:87:in `execute_request'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/iruby-0.2.8/lib/iruby/kernel.rb:47:in `dispatch'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/iruby-0.2.8/lib/iruby/kernel.rb:37:in `run'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/iruby-0.2.8/lib/iruby/command.rb:70:in `run_kernel'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/iruby-0.2.8/lib/iruby/command.rb:34:in `run'\u001b[0m",
"\u001b[37m/var/lib/gems/2.2.0/gems/iruby-0.2.8/bin/iruby:5:in `<top (required)>'\u001b[0m",
"\u001b[37m/usr/local/bin/iruby:23:in `load'\u001b[0m",
"\u001b[37m/usr/local/bin/iruby:23:in `<main>'\u001b[0m"
]
}
],
"source": [
"top_ten = artists.sort(ascending: false).head\n",
"\n",
"top_ten.plot type: :bar do |plt|\n",
" plt.yrange [0,300]\n",
" plt.width 1120 \n",
" plt.height 800\n",
" plt.legend true\n",
" plt.rotate_x_label 45\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Ruby 2.2.3",
"language": "ruby",
"name": "ruby"
},
"language_info": {
"file_extension": ".rb",
"mimetype": "application/x-ruby",
"name": "ruby",
"version": "2.2.3"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment