Since my original post didn't receive any response, I thought I'd illustrate the type of thing that I'm trying to accomplish. The general idea, of course, is to mix Python and Javascript in the Jupyter notebook. In this way, output generated by Python can be made interactive using Javascript. There are lots of possibilities; a few examples are included in Brian Coffey's tutorial that I linked to in my first post.
I've got a few things I've generated myself along these lines but the first thing I'm somewhat happy with involves the dynamic illustration of an orbit on top of a Julia set generated with Python. You can see the result here: http://marksmath.org/visualization/InteractiveBasinsInJupyter/ One thing that's nice about this approach is that the interactivity is maintained and active in the exported HTML version. Thus, if you scroll down to one of the images in that webpage and hover your mouse over that image, you should see an orbit that's updated dynamically as you move the mouse. If you want the full blown Jupyter notebook together with the ancillary code, you can grab that too: http://marksmath.org/visualization/InteractiveBasinsInJupyter.zip While I'm somewhat happy with this, the question remains - why won't MathJS and newer versions of D3 load into the notebook? It there a way to get around this limitation? It's pretty easy to test when a library has loaded - simply call an alert on any object exported from the library to the global namespace. For example, here's how to (try to) load D3: from IPython.core.display import HTML HTML('<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.0.0/d3.js "></script>') In a separate cell, you can then do: HTML("<script>alert(d3)</script>") You should get an alert box that says [object Object], since d3 is an object, but you don't. It works fine with the older version of D3, just change the 4.0.0 to 3.5.17. The same problem happens with MathJS. As a result, I ended up writing my own little complex class for this example including polynomial evaluation with Horner's method. Not that big deal for this example, but MathJS includes a lot of functionality that might be nice to incorporate for these types of examples. It also includes a parser that would make it very easy to translate mathematical expressions from Python to Javascript. -- You received this message because you are subscribed to the Google Groups "Project Jupyter" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jupyter/4d5ccce7-420f-4e4d-8cfe-e75d74d1dc9a%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
