Since it's always good to know what else is out there in the software ecosystem...
Today
Plotly was open sourced. It's not the first wrapper around D3 trying to work at the chart level rather than the DOM level (see:
nvd3,
c3.js) but it seems to be much more mature by virtue of its closed-source roots. In particular, it has extensive documentation and compatibility with Python, R, and a few other languages commonly used for data science. It also has a WebGL backend, allowing it to do
3D scatter plots and such.
Compared with D3 and MathBox, I'd expect that Plotly provides a lot less control over the less common cases. For example, you might not be able to position arbitrary HTML or LaTeX (it seems you can use LaTeX for labels not not over points?). And of course it doesn't have the RTT pipeline so you can't make WinAmp-style visualizations.
Plotly's WebGL backend is
stack.gl, which appears to be a community of
many node modules that one can use. The centerpiece seems to be glslify, which I imagine serves a similar function to ShaderGraph in that it ties all the components together. It seems like even a small project would need dozens of packages. Stack.gl seems to be independent of Three.js, which MathBox2 is built on, and uses for cameras, colors, linear algebra, etc. MathBox2 provides one with the DOM to work with, and all of those primitives, data generators, and operators (not to mention the animation system). Writing GLSL by hand is permitted but not the first choice. It seems that
stack.gl has no such abstraction and requires that one become very comfortable writing shaders.
I haven't heard of either Plotly or
stack.gl until today, so I'd really like some clarity on how these pieces of the client-side 3D and dataviz ecosystem fit together, and why someone would pick one project over another.