Skip to content

Instantly share code, notes, and snippets.

@aflaxman
Created December 27, 2013 05:44
Show Gist options
  • Save aflaxman/8143035 to your computer and use it in GitHub Desktop.
Save aflaxman/8143035 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "2013_12_26a_mpld3_nan_issue"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": "!date",
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": "Thu Dec 26 21:05:13 PST 2013\r\n"
}
],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": "import matplotlib.pyplot as plt\nimport mpld3\nreload(mpld3)",
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 2,
"text": "<module 'mpld3' from '/snfs2/HOME/abie/ENV_dismod/lib/python2.6/site-packages/mpld3-0.0.1-py2.6.egg/mpld3/__init__.pyc'>"
}
],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": "fig = plt.figure(figsize=(12,4))\n\ny = randn(10)\ny[3] = nan\n\nplot(y, 'ks-', mec='w', mew=3, ms=10)\nmpld3.display.display_d3(fig, closefig=False, d3_url='files/d3.v3.js')",
"language": "python",
"metadata": {},
"outputs": [
{
"html": "\n <script type=\"text/javascript\" src=\"files/d3.v3.js\"></script>\n \n <style>\n \n div#figure6c2c70de993c436ab0e4a4f0456fa5d3\n .axes6c2c70de993c436ab0e4a4f0456fa5d31.axis line, .axes6c2c70de993c436ab0e4a4f0456fa5d31.axis path {\n shape-rendering: crispEdges;\n stroke: black;\n fill: none;\n }\n\n div#figure6c2c70de993c436ab0e4a4f0456fa5d3\n .axes6c2c70de993c436ab0e4a4f0456fa5d31.axis text {\n font-family: sans-serif;\n font-size: 10.0px;\n fill: black;\n stroke: none;\n }\n \n\n div#figure6c2c70de993c436ab0e4a4f0456fa5d3\n .grid .tick {\n stroke: #000000;\n stroke-dasharray: 2,2;\n stroke-opacity: 1.0;\n }\n\n div#figure6c2c70de993c436ab0e4a4f0456fa5d3\n .grid path {\n stroke-width: 0;\n }\n \n\n div#figure6c2c70de993c436ab0e4a4f0456fa5d3\n path.line6c2c70de993c436ab0e4a4f0456fa5d311 {\n stroke: #000000;\n stroke-width: 1.0;\n stroke-dasharray: 10,0;\n fill: none;\n stroke-opacity: 1;\n }\n\n div#figure6c2c70de993c436ab0e4a4f0456fa5d3\n path.points6c2c70de993c436ab0e4a4f0456fa5d311 {\n stroke-width: 3;\n stroke: #FFFFFF;\n fill: #000000;\n fill-opacity: 1;\n stroke-opacity: 1;\n }\n \n\n\n\n </style>\n \n <div id='figure6c2c70de993c436ab0e4a4f0456fa5d3'></div>\n\n <script type=\"text/javascript\">\n func6c2c70de993c436ab0e4a4f0456fa5d3 = function(figure){\n\n var figwidth = 12.0 * 80;\n var figheight = 4.0 * 80;\n\n var canvas = figure.append('svg:svg')\n .attr('width', figwidth)\n .attr('height', figheight)\n .attr('class', 'canvas')\n\n \n // store the width and height of the axes\n var width_6c2c70de993c436ab0e4a4f0456fa5d31 = 0.775 * figwidth;\n var height_6c2c70de993c436ab0e4a4f0456fa5d31 = 0.775 * figheight\n\n \n var x_6c2c70de993c436ab0e4a4f0456fa5d31 = d3.scale.linear()\n .domain([0.0, 9.0])\n .range([0, width_6c2c70de993c436ab0e4a4f0456fa5d31]);\n var x_data_map6c2c70de993c436ab0e4a4f0456fa5d31 = x_6c2c70de993c436ab0e4a4f0456fa5d31;\n \n \n var y_6c2c70de993c436ab0e4a4f0456fa5d31 = d3.scale.linear()\n .domain([-1.5, 2.0])\n .range([height_6c2c70de993c436ab0e4a4f0456fa5d31, 0]);\n var y_data_map6c2c70de993c436ab0e4a4f0456fa5d31 = y_6c2c70de993c436ab0e4a4f0456fa5d31;\n \n\n\n // zoom object for the axes\n var zoom6c2c70de993c436ab0e4a4f0456fa5d31 = d3.behavior.zoom()\n .x(x_6c2c70de993c436ab0e4a4f0456fa5d31)\n .y(y_6c2c70de993c436ab0e4a4f0456fa5d31)\n .on(\"zoom\", zoomed6c2c70de993c436ab0e4a4f0456fa5d31);\n\n // create the axes itself\n var baseaxes_6c2c70de993c436ab0e4a4f0456fa5d31 = canvas.append('g')\n .attr('transform', 'translate(' + (0.125 * figwidth) + ',' +\n ((1 - 0.125 - 0.775) * figheight) + ')')\n .attr('width', width_6c2c70de993c436ab0e4a4f0456fa5d31)\n .attr('height', height_6c2c70de993c436ab0e4a4f0456fa5d31)\n .attr('class', 'main')\n .call(zoom6c2c70de993c436ab0e4a4f0456fa5d31);\n\n // create the axes background\n baseaxes_6c2c70de993c436ab0e4a4f0456fa5d31.append(\"svg:rect\")\n .attr(\"width\", width_6c2c70de993c436ab0e4a4f0456fa5d31)\n .attr(\"height\", height_6c2c70de993c436ab0e4a4f0456fa5d31)\n .attr(\"class\", \"bg6c2c70de993c436ab0e4a4f0456fa5d31\")\n .attr(\"fill\", \"#FFFFFF\");\n\n // axis factory functions: used for grid lines & axes\n var create_xAxis_6c2c70de993c436ab0e4a4f0456fa5d31 = function(){\n return d3.svg.axis()\n .scale(x_6c2c70de993c436ab0e4a4f0456fa5d31)\n .orient('bottom');\n }\n\n var create_yAxis_6c2c70de993c436ab0e4a4f0456fa5d31 = function(){\n return d3.svg.axis()\n .scale(y_6c2c70de993c436ab0e4a4f0456fa5d31)\n .orient('left');\n }\n\n // draw the x axis\n var xAxis_6c2c70de993c436ab0e4a4f0456fa5d31 = create_xAxis_6c2c70de993c436ab0e4a4f0456fa5d31();\n\n baseaxes_6c2c70de993c436ab0e4a4f0456fa5d31.append('g')\n .attr('transform', 'translate(0,' + (height_6c2c70de993c436ab0e4a4f0456fa5d31) + ')')\n .attr('class', 'axes6c2c70de993c436ab0e4a4f0456fa5d31 x axis')\n .call(xAxis_6c2c70de993c436ab0e4a4f0456fa5d31);\n\n // draw the y axis\n var yAxis_6c2c70de993c436ab0e4a4f0456fa5d31 = create_yAxis_6c2c70de993c436ab0e4a4f0456fa5d31();\n\n baseaxes_6c2c70de993c436ab0e4a4f0456fa5d31.append('g')\n .attr('transform', 'translate(0,0)')\n .attr('class', 'axes6c2c70de993c436ab0e4a4f0456fa5d31 y axis')\n .call(yAxis_6c2c70de993c436ab0e4a4f0456fa5d31);\n\n // create the clip boundary\n var clip_6c2c70de993c436ab0e4a4f0456fa5d31 = baseaxes_6c2c70de993c436ab0e4a4f0456fa5d31.append(\"svg:clipPath\")\n .attr(\"id\", \"clip6c2c70de993c436ab0e4a4f0456fa5d31\")\n .append(\"svg:rect\")\n .attr(\"x\", 0)\n .attr(\"y\", 0)\n .attr(\"width\", width_6c2c70de993c436ab0e4a4f0456fa5d31)\n .attr(\"height\", height_6c2c70de993c436ab0e4a4f0456fa5d31);\n\n // axes_6c2c70de993c436ab0e4a4f0456fa5d31 is the axes on which to draw plot components: they'll\n // be clipped when zooming or scrolling moves them out of the plot.\n var axes_6c2c70de993c436ab0e4a4f0456fa5d31 = baseaxes_6c2c70de993c436ab0e4a4f0456fa5d31.append('g')\n .attr(\"clip-path\", \"url(#clip6c2c70de993c436ab0e4a4f0456fa5d31)\");\n\n \n\n var data_6c2c70de993c436ab0e4a4f0456fa5d311 = [[0.0, -0.56399363643140343], [1.0, 0.71870303304784111], [2.0, 1.6783542931126976], [3.0, nan], [4.0, -1.0317194380347112], [5.0, 1.0351514088982994], [6.0, 1.8254036024341738], [7.0, 0.32394490937493453], [8.0, 0.29881089029715047], [9.0, -0.058722275792862794]]\n \n var g_6c2c70de993c436ab0e4a4f0456fa5d311 = axes_6c2c70de993c436ab0e4a4f0456fa5d31.append(\"svg:g\");\n\n g_6c2c70de993c436ab0e4a4f0456fa5d311.selectAll(\"scatter-dots-6c2c70de993c436ab0e4a4f0456fa5d311\")\n .data(data_6c2c70de993c436ab0e4a4f0456fa5d311)\n .enter().append(\"svg:path\")\n .attr('class', 'points6c2c70de993c436ab0e4a4f0456fa5d311')\n .attr(\"d\", d3.svg.symbol()\n .type(\"square\")\n .size(100))\n .attr(\"transform\", function(d)\n { return \"translate(\" + x_data_map6c2c70de993c436ab0e4a4f0456fa5d31(d[0]) +\n \",\" + y_data_map6c2c70de993c436ab0e4a4f0456fa5d31(d[1]) + \")\"; });\n \n var line_6c2c70de993c436ab0e4a4f0456fa5d311 = d3.svg.line()\n .x(function(d) {return x_data_map6c2c70de993c436ab0e4a4f0456fa5d31(d[0]);})\n .y(function(d) {return y_data_map6c2c70de993c436ab0e4a4f0456fa5d31(d[1]);})\n .interpolate(\"linear\");\n\n axes_6c2c70de993c436ab0e4a4f0456fa5d31.append(\"svg:path\")\n .attr(\"d\", line_6c2c70de993c436ab0e4a4f0456fa5d311(data_6c2c70de993c436ab0e4a4f0456fa5d311))\n .attr('class', 'line6c2c70de993c436ab0e4a4f0456fa5d311');\n \n\n\n\n\n function zoomed6c2c70de993c436ab0e4a4f0456fa5d31() {\n //console.log(d3.event.translate);\n //console.log(d3.event.scale);\n baseaxes_6c2c70de993c436ab0e4a4f0456fa5d31.select(\".x.axis\").call(xAxis_6c2c70de993c436ab0e4a4f0456fa5d31);\n baseaxes_6c2c70de993c436ab0e4a4f0456fa5d31.select(\".y.axis\").call(yAxis_6c2c70de993c436ab0e4a4f0456fa5d31);\n\n \n\n axes_6c2c70de993c436ab0e4a4f0456fa5d31.selectAll(\".points6c2c70de993c436ab0e4a4f0456fa5d311\")\n .attr(\"transform\", function(d)\n { return \"translate(\" + x_data_map6c2c70de993c436ab0e4a4f0456fa5d31(d[0]) + \",\" +\n y_data_map6c2c70de993c436ab0e4a4f0456fa5d31(d[1]) + \")\"; });\n \n axes_6c2c70de993c436ab0e4a4f0456fa5d31.select(\".line6c2c70de993c436ab0e4a4f0456fa5d311\")\n .attr(\"d\", line_6c2c70de993c436ab0e4a4f0456fa5d311(data_6c2c70de993c436ab0e4a4f0456fa5d311));\n \n\n\n\n }\n \n\n }\n\n // set a timeout of 0 to allow d3.js to load\n setTimeout(function(){ func6c2c70de993c436ab0e4a4f0456fa5d3(d3.select('#figure6c2c70de993c436ab0e4a4f0456fa5d3')) }, 0)\n </script>\n ",
"metadata": {},
"output_type": "pyout",
"prompt_number": 3,
"text": "<IPython.core.display.HTML at 0x34a2990>"
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nJiIiIiIq5v8BU9bCmDmYd1QAAAAASUVORK5CYII=\n",
"text": "<matplotlib.figure.Figure at 0x348ad10>"
}
],
"prompt_number": 3
},
{
"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