<div dir="ltr"><div>Hello all,</div><div><br></div><div>I recently managed to get 3D vector plots working in the IPython notebook, by statically producing three.js output. I thought I'd share it here in case this example is useful for anyone else, or if anyone has any suggestions as to how I could do things better.</div><div><br></div><div>The advantage of the static approach is that the output survives the nbconvert process, which you can see in this notebook here (which also compares with a couple of other unsatisfactory ways of visualising 3D vector plots).</div><div><br></div><div><div><a href="http://nbviewer.ipython.org/github/DavidPowell/openmodes-examples/blob/master/How%20to%20create%203D%20plots.ipynb">http://nbviewer.ipython.org/github/DavidPowell/openmodes-examples/blob/master/How%20to%20create%203D%20plots.ipynb</a><br></div><div><br></div><div>Another example can be seen at:</div><br><div><a href="http://nbviewer.ipython.org/github/DavidPowell/openmodes-examples/blob/master/Using%20and%20creating%20geometric%20shapes.ipynb">http://nbviewer.ipython.org/github/DavidPowell/openmodes-examples/blob/master/Using%20and%20creating%20geometric%20shapes.ipynb</a></div></div><div><br></div><div>If you are interested to see how this works, you can check out the python source:</div><div><br></div><div><a href="https://github.com/DavidPowell/OpenModes/blob/master/openmodes/ipython.py">https://github.com/DavidPowell/OpenModes/blob/master/openmodes/ipython.py</a><br></div><div><br></div><div>As well as the javascript:</div><div><br></div><div><a href="https://github.com/DavidPowell/OpenModes/blob/master/openmodes/static/three_js_plot.js">https://github.com/DavidPowell/OpenModes/blob/master/openmodes/static/three_js_plot.js</a><br></div><div><br></div><div>and finally the HTML:</div><div><br></div><div><a href="https://github.com/DavidPowell/OpenModes/blob/master/openmodes/templates/three_js_plot.html">https://github.com/DavidPowell/OpenModes/blob/master/openmodes/templates/three_js_plot.html</a><br></div><div><br></div><div>By the way, I am aware of the efforts to make a proper three.js IPython widget (<a href="https://github.com/jasongrout/pythreejs/">https://github.com/jasongrout/pythreejs/</a>), and will probably switch over to this once it is stable, and when the output can survive ipython's nbconvert process. Is this something we can expect for widgets in IPython 3.0?<br></div><div><br></div><div>regards</div><div>David</div><div><br></div></div>