Skip to content

Instantly share code, notes, and snippets.

@chezou
Last active August 29, 2015 14:13
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 chezou/38ddcc79babe34b73f10 to your computer and use it in GitHub Desktop.
Save chezou/38ddcc79babe34b73f10 to your computer and use it in GitHub Desktop.
mikon example
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"language": "ruby",
"name": "",
"signature": "sha256:691360dded66d4b9d782a5da0ca8ffe524dc82b079c93e1c5b27743d47b84b9f"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"require 'mikon'"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<script type='text/javascript'>if(window['d3'] === undefined ||\n",
" window['Nyaplot'] === undefined){\n",
" var path = {\"d3\":\"http://d3js.org/d3.v3.min\"};\n",
"\n",
"\n",
"\n",
" var shim = {\"d3\":{\"exports\":\"d3\"}};\n",
"\n",
" require.config({paths: path, shim:shim});\n",
"\n",
"\n",
"require(['d3'], function(d3){window['d3']=d3;console.log('finished loading d3');\n",
"\n",
"\tvar script = d3.select(\"head\")\n",
"\t .append(\"script\")\n",
"\t .attr(\"src\", \"https://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",
"</script>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 1,
"text": [
"\"if(window['d3'] === undefined ||\\n window['Nyaplot'] === undefined){\\n var path = {\\\"d3\\\":\\\"http://d3js.org/d3.v3.min\\\"};\\n\\n\\n\\n var shim = {\\\"d3\\\":{\\\"exports\\\":\\\"d3\\\"}};\\n\\n require.config({paths: path, shim:shim});\\n\\n\\nrequire(['d3'], function(d3){window['d3']=d3;console.log('finished loading d3');\\n\\n\\tvar script = d3.select(\\\"head\\\")\\n\\t .append(\\\"script\\\")\\n\\t .attr(\\\"src\\\", \\\"https://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": "pyout",
"prompt_number": 1,
"text": [
"true"
]
}
],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"x = (1..100).to_a"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 3,
"text": [
"[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]"
]
}
],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"y = 100.times.map{|e| rand(e)}"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 5,
"text": [
"[0.11586688829185865, 0, 1, 2, 3, 0, 2, 6, 1, 0, 4, 3, 10, 10, 4, 8, 8, 8, 8, 12, 10, 9, 2, 22, 21, 16, 23, 7, 13, 2, 17, 7, 25, 2, 7, 34, 17, 34, 18, 17, 20, 30, 39, 32, 4, 0, 26, 18, 35, 36, 2, 41, 44, 7, 13, 38, 7, 2, 28, 54, 4, 50, 12, 44, 10, 53, 9, 32, 36, 64, 6, 12, 8, 62, 54, 22, 53, 38, 72, 15, 37, 13, 69, 7, 75, 5, 62, 21, 18, 31, 82, 74, 79, 39, 60, 49, 10, 82, 94, 87]"
]
}
],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df = Mikon::DataFrame.new({x: x, y: y})"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<html><table><tr><td></td><th>x</th><th>y</th></tr><tr><th>0</th><td>1</td><td>0.11586688829185865</td></tr><tr><th>1</th><td>2</td><td>0.0</td></tr><tr><th>2</th><td>3</td><td>1.0</td></tr><tr><th>3</th><td>4</td><td>2.0</td></tr><tr><th>4</th><td>5</td><td>3.0</td></tr><tr><th>5</th><td>6</td><td>0.0</td></tr><tr><th>6</th><td>7</td><td>2.0</td></tr><tr><th>7</th><td>8</td><td>6.0</td></tr><tr><th>8</th><td>9</td><td>1.0</td></tr><tr><th>9</th><td>10</td><td>0.0</td></tr><tr><th>10</th><td>11</td><td>4.0</td></tr><tr><th>11</th><td>12</td><td>3.0</td></tr><tr><th>12</th><td>13</td><td>10.0</td></tr><tr><th>13</th><td>14</td><td>10.0</td></tr><tr><th>14</th><td>15</td><td>4.0</td></tr><tr><th>15</th><td>16</td><td>8.0</td></tr><tr><th>16</th><td>17</td><td>8.0</td></tr><tr><th>17</th><td>18</td><td>8.0</td></tr><tr><th>18</th><td>19</td><td>8.0</td></tr><tr><th>19</th><td>20</td><td>12.0</td></tr><tr><th>20</th><td>21</td><td>10.0</td></tr><tr><th>21</th><td>22</td><td>9.0</td></tr><tr><th>22</th><td>23</td><td>2.0</td></tr><tr><th>23</th><td>24</td><td>22.0</td></tr><tr><th>24</th><td>25</td><td>21.0</td></tr><tr><th>25</th><td>26</td><td>16.0</td></tr><tr><th>26</th><td>27</td><td>23.0</td></tr><tr><th>27</th><td>28</td><td>7.0</td></tr><tr><th>28</th><td>29</td><td>13.0</td></tr><tr><th>29</th><td>30</td><td>2.0</td></tr><tr><th>30</th><td>31</td><td>17.0</td></tr><tr><th>31</th><td>32</td><td>7.0</td></tr><tr><th>32</th><td>33</td><td>25.0</td></tr><tr><th>33</th><td>34</td><td>2.0</td></tr><tr><th>34</th><td>35</td><td>7.0</td></tr><tr><th>35</th><td>36</td><td>34.0</td></tr><tr><th>36</th><td>37</td><td>17.0</td></tr><tr><th>37</th><td>38</td><td>34.0</td></tr><tr><th>38</th><td>39</td><td>18.0</td></tr><tr><th>39</th><td>40</td><td>17.0</td></tr><tr><th>40</th><td>41</td><td>20.0</td></tr><tr><th>41</th><td>42</td><td>30.0</td></tr><tr><th>42</th><td>43</td><td>39.0</td></tr><tr><th>43</th><td>44</td><td>32.0</td></tr><tr><th>44</th><td>45</td><td>4.0</td></tr><tr><th>45</th><td>46</td><td>0.0</td></tr><tr><th>46</th><td>47</td><td>26.0</td></tr><tr><th>47</th><td>48</td><td>18.0</td></tr><tr><th>48</th><td>49</td><td>35.0</td></tr><tr><th>49</th><td>50</td><td>36.0</td></tr><tr><th>50</th><td>51</td><td>2.0</td></tr><tr><th>...</th><td>...</td><td>...</td></tr><tr><th>99</th><td>100</td><td>87.0</td></tr></table>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 7,
"text": [
"#<Mikon::DataFrame:0x00000002d27d08 @labels=[:x, :y], @data=[#<Mikon::DArray:0x00000002d27ab0 @data=#<NMatrix:0x00000002d279e8 shape:[100] dtype:int32 stype:dense>, @dtype=:int32>, #<Mikon::DArray:0x00000002d279c0 @data=#<NMatrix:0x00000002d278f8 shape:[100] dtype:float64 stype:dense>, @dtype=:float64>], @name=\"920d65aa-cbd8-4b77-bdbe-efc90273460a\", @index=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]>"
]
}
],
"prompt_number": 7
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"plot = Nyaplot::Plot.new\n",
"sc = plot.add_with_df(df, :scatter, :x, :y)\n",
"plot.show"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div id='vis-2668ee13-456c-4e8e-8af8-7f349685d1e3'></div>\n",
"<script>\n",
"(function(){\n",
" var render = function(){\n",
" var model = {\"panes\":[{\"diagrams\":[{\"type\":\"scatter\",\"options\":{\"x\":\"x\",\"y\":\"y\"},\"data\":\"920d65aa-cbd8-4b77-bdbe-efc90273460a\"}],\"options\":{\"zoom\":true,\"width\":700,\"xrange\":[1,100],\"yrange\":[0.0,94.0]}}],\"data\":{\"920d65aa-cbd8-4b77-bdbe-efc90273460a\":[{\"x\":1,\"y\":0.11586688829185865},{\"x\":2,\"y\":0.0},{\"x\":3,\"y\":1.0},{\"x\":4,\"y\":2.0},{\"x\":5,\"y\":3.0},{\"x\":6,\"y\":0.0},{\"x\":7,\"y\":2.0},{\"x\":8,\"y\":6.0},{\"x\":9,\"y\":1.0},{\"x\":10,\"y\":0.0},{\"x\":11,\"y\":4.0},{\"x\":12,\"y\":3.0},{\"x\":13,\"y\":10.0},{\"x\":14,\"y\":10.0},{\"x\":15,\"y\":4.0},{\"x\":16,\"y\":8.0},{\"x\":17,\"y\":8.0},{\"x\":18,\"y\":8.0},{\"x\":19,\"y\":8.0},{\"x\":20,\"y\":12.0},{\"x\":21,\"y\":10.0},{\"x\":22,\"y\":9.0},{\"x\":23,\"y\":2.0},{\"x\":24,\"y\":22.0},{\"x\":25,\"y\":21.0},{\"x\":26,\"y\":16.0},{\"x\":27,\"y\":23.0},{\"x\":28,\"y\":7.0},{\"x\":29,\"y\":13.0},{\"x\":30,\"y\":2.0},{\"x\":31,\"y\":17.0},{\"x\":32,\"y\":7.0},{\"x\":33,\"y\":25.0},{\"x\":34,\"y\":2.0},{\"x\":35,\"y\":7.0},{\"x\":36,\"y\":34.0},{\"x\":37,\"y\":17.0},{\"x\":38,\"y\":34.0},{\"x\":39,\"y\":18.0},{\"x\":40,\"y\":17.0},{\"x\":41,\"y\":20.0},{\"x\":42,\"y\":30.0},{\"x\":43,\"y\":39.0},{\"x\":44,\"y\":32.0},{\"x\":45,\"y\":4.0},{\"x\":46,\"y\":0.0},{\"x\":47,\"y\":26.0},{\"x\":48,\"y\":18.0},{\"x\":49,\"y\":35.0},{\"x\":50,\"y\":36.0},{\"x\":51,\"y\":2.0},{\"x\":52,\"y\":41.0},{\"x\":53,\"y\":44.0},{\"x\":54,\"y\":7.0},{\"x\":55,\"y\":13.0},{\"x\":56,\"y\":38.0},{\"x\":57,\"y\":7.0},{\"x\":58,\"y\":2.0},{\"x\":59,\"y\":28.0},{\"x\":60,\"y\":54.0},{\"x\":61,\"y\":4.0},{\"x\":62,\"y\":50.0},{\"x\":63,\"y\":12.0},{\"x\":64,\"y\":44.0},{\"x\":65,\"y\":10.0},{\"x\":66,\"y\":53.0},{\"x\":67,\"y\":9.0},{\"x\":68,\"y\":32.0},{\"x\":69,\"y\":36.0},{\"x\":70,\"y\":64.0},{\"x\":71,\"y\":6.0},{\"x\":72,\"y\":12.0},{\"x\":73,\"y\":8.0},{\"x\":74,\"y\":62.0},{\"x\":75,\"y\":54.0},{\"x\":76,\"y\":22.0},{\"x\":77,\"y\":53.0},{\"x\":78,\"y\":38.0},{\"x\":79,\"y\":72.0},{\"x\":80,\"y\":15.0},{\"x\":81,\"y\":37.0},{\"x\":82,\"y\":13.0},{\"x\":83,\"y\":69.0},{\"x\":84,\"y\":7.0},{\"x\":85,\"y\":75.0},{\"x\":86,\"y\":5.0},{\"x\":87,\"y\":62.0},{\"x\":88,\"y\":21.0},{\"x\":89,\"y\":18.0},{\"x\":90,\"y\":31.0},{\"x\":91,\"y\":82.0},{\"x\":92,\"y\":74.0},{\"x\":93,\"y\":79.0},{\"x\":94,\"y\":39.0},{\"x\":95,\"y\":60.0},{\"x\":96,\"y\":49.0},{\"x\":97,\"y\":10.0},{\"x\":98,\"y\":82.0},{\"x\":99,\"y\":94.0},{\"x\":100,\"y\":87.0}]},\"extension\":[]}\n",
" Nyaplot.core.parse(model, '#vis-2668ee13-456c-4e8e-8af8-7f349685d1e3');\n",
" };\n",
" if(window['Nyaplot']==undefined){\n",
" window.addEventListener('load_nyaplot', render, false);\n",
"\treturn;\n",
" } else {\n",
" render();\n",
" }\n",
"})();\n",
"</script>\n"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 12,
"text": [
"#<Nyaplot::Frame:0x00000002de3558 @properties={:panes=>[#<Nyaplot::Plot:0x00000002ddc230 @properties={:diagrams=>[#<Nyaplot::Diagram:0x00000002ddc0a0 @properties={:type=>:scatter, :options=>{:x=>:x, :y=>:y}, :data=>\"920d65aa-cbd8-4b77-bdbe-efc90273460a\"}, @xrange=[1, 100], @yrange=[0.0, 94.0]>], :options=>{:zoom=>true, :width=>700, :xrange=>[1, 100], :yrange=>[0.0, 94.0]}}>], :data=>{\"920d65aa-cbd8-4b77-bdbe-efc90273460a\"=>#<Mikon::DataFrame:0x00000002d27d08 @labels=[:x, :y], @data=[#<Mikon::DArray:0x00000002d27ab0 @data=#<NMatrix:0x00000002d279e8 shape:[100] dtype:int32 stype:dense>, @dtype=:int32>, #<Mikon::DArray:0x00000002d279c0 @data=#<NMatrix:0x00000002d278f8 shape:[100] dtype:float64 stype:dense>, @dtype=:float64>], @name=\"920d65aa-cbd8-4b77-bdbe-efc90273460a\", @index=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]>}, :extension=>[]}>"
]
}
],
"prompt_number": 12
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment