

Plot.ly: Matlab for the Web - jparmer
https://plot.ly/plot
I've been working on this tool for a few months. Would <i>love</i> to hear any and all feedback from the HN community and MATLAB/Numpy folks.
======
simonster
First of all, it's gorgeous, far more visually pleasing than Matlab's plotting
tools, which still seem to lack a decent compositing engine.

As far as UX, I would expect click+drag to move the graph, but instead it
gives me a context menu to zoom. (And why is "zoom out" in that context menu?
Why do I need to select anything for that?) It would also be nice to be able
to zoom into a point with the scroll wheel. Also, the command line doesn't
seem to work at all in Firefox Nightly, and is quite slow to respond in
Safari.

I'm also a little curious how the concept will work out. There aren't many
situations where I've wanted to put an interactive plot up online, and I
suspect that the online Python environment is too limited for me to do my data
analysis online (although perhaps this is your eventual plan?). If I could put
my locally generated plots on plot.ly directly from Matlab/Python/Julia, I
could see myself sending (private) links to online plots to my collaborators,
but I'm not sure I'd pay for the privilege.

~~~
Osmium
Agreed with the UX criticisms -- scroll wheel is essential. And dragging isn't
discoverable enough.

Interface generally is still a little rough: it wasn't clear to me how to
enable scatter points (as well as lines) because it looked liked I'd chosen
the scatter type/size/colour etc, but it turns out I hadn't enabled the
"line+point" mode.

As far as I'm concerned, any graph element should be clickable and should
bring up options to change it, e.g. the axes format. Lack of font options
(webfonts maybe?) also a problem.

I clicked one of the examples, clicked "show data" and then clicked "plot
data" expecting it to go back to the graph, but instead it wasn't really clear
how to do that -- and then I saw the original graph was still there as a tab.
I don't know if it was still linked to the data or if the data tab was just a
copy -- I tried changing a random data point to test, when back to the graph,
and it was stuck updating.

I only took the time to type up these criticisms/UX issues because I really,
really like this product. The web is sorely in need of a great plotting
solution and this looks _really_ cool. Just a little rough around the edges,
that's all!

~~~
jparmer
Awesome. All super helpful stuff. Thanks so much for taking the time!

------
rrix
[http://mr-mariusz.blogspot.com/2013/04/how-we-failed-our-yc-...](http://mr-
mariusz.blogspot.com/2013/04/how-we-failed-our-yc-interview.html) was on HN a
week or two back.

------
leeny
It would be awesome if the graphs enabled mouseovers (e.g. bar chart where you
can mouse over each bar to get additional info). Unless I missed something and
this is already a feature...

~~~
jparmer
No mouseover yet - Thanks for the feedback!

------
vxNsr
Interesting idea, though I just finished a course in Matlab so this seems
laughably inadequate. My biggest issue with these visualize tools is that you
can't really choose how to visualize things, meaning unless the creator has
thought of that idea as plausible you can't use it, I like to manipulate data
in many ways and these (socrata, manyeyes, etc) just don't seem to think the
same way I do...

Edit: just saw the command line button, this may actually be awesome!

------
edtechdev
See jStat for one javascript statistical library that is similar to what is
offered in R and Matlab: <http://www.jstat.org/>

And Formula.js has javascript versions of all the Excel functions:
<http://stoic.com/formula/>

------
c0g
Make it interface with Python and Matlab on my local machine and export to .ps
and I'll give you some money.

------
etrautmann
This looks great so far. I'd remove the drop shadows on the zoom box, and
remove the context menu. If you click and drag a box, it should automatically
zoom in, and reset zoom when you double click (as it currently does), with
zoom out as a separate tool or shortcut.

~~~
jparmer
Awesome, Thanks for the feedback. Seems HN has consensus on this one.

------
jferge
I was just thinking about making something like this after finishing my
college stats class. I'm not sure if I just don't see it, but it would be cool
to add in some statistics stuff, mean, variance, linear regression estimates
and stuff like that.

~~~
jparmer
Hey jferge, Thanks for the feedback. You can already do linear (and
polynomial) regression through the plotly spreadsheet GUI. Way easier than
Excel, imo:

Linear fit with dates: <https://plot.ly/~jackp/487> Partial linear fit):
<https://plot.ly/~jackp/489> 5th order polynomial fit:
<https://plot.ly/~jackp/490>

------
user24
Finally. I've been saying this should be done for ages[1]

[1] Here's a 2010 blog post I made saying "do matlab in JS, make money".
<http://www.puremango.co.uk/2010/10/ten-ideas/>

~~~
Osmium
Except this isn't what this is. Matlab is far more than a plotting tool, and
requires heavy computational resources: the closest you're going to get to
Matlab in the browser is a hosted ipython/sage-style solution (which already
exists, albeit in a form that isn't user-friendly enough).

~~~
bazzargh
What about mathics? <http://www.mathics.org/>

(just to be clear - I know mathics is a hosted solution, and uses Sage. I'm
asking, does this meet your 'user friendly enough' criteria)

~~~
taliesinb
In fact we (Wolfram) hired the primary Mathics developer to work on
Mathematica Online, which will be released in the next few months:
<http://www.wolfram.com/mathematica-online/>

Beta testers wanted!

------
etrautmann
I was thinking about developing something similar, nice work! an extension of
this idea to 3D plots using WebGL would be awesome. I'd love to have more
interactive plotting features for presenting scientific results on the web.

~~~
jparmer
We're slowly churning out 3d. Here's a preview: pic.twitter.com/jVaZsDOv7x

------
niggler
Retina macbook pro early 2013, chrome 26. Zooming some of the plots is
noticably slow (and zooming out of the Hopf Bifurcation plot occasionally
causes chrome to stop responding)

~~~
jparmer
Cool, thanks. We could probably tone down the size of our demos.

------
iamshs
Cool beans. MATLAB's plotting tools need to improve a lot, and hence i use
export_fig.m a lot. Is a Skydrive option in the works?

~~~
jparmer
Only google drive and dropbox so far. Just curious, why not dropbox?

~~~
replax
Well, some people think of skydrive as superior to DB (myself included). E.g.
if you are a student and bought MS Office, you get 20gb skydrive storage for
free. Also your normal free storage is at 7gb. And it's conveniently tyed into
outlook.com, which still has push support unlike gmail. Also (of course
personal tAste, too) but I prefere MS's online Office over google's.

I think skydrive support would be great :)!

Btw, really really well done from what I tried!

------
tschaume
extremely cool, guys! Especially liked the script functionality. Just
brainstorming: Do you guys have an API one could use to send python code to
your app? Or even get back the plot to embed it in one's own app? That'd be
helpful for many other (python based) web apps, I'd think. P.S.: Where are the
"Share/Tweet" buttons? :-)

~~~
jparmer
Check out Share/Tweet options under "Share" on the graphing toolbar. Here's a
log-log graph my colleague shared, for example: <https://plot.ly/~alex/13/>

~~~
tschaume
yes, that would be sharing my stuff with colleagues. I only wanted to quickly
tweet about you guys w/o searching for your handle on twitter.

------
visualR
Is there a monetization strategy? Seems like I see things like this popup
every couple months. Is there really a demand?

~~~
jparmer
Lots of private companies with R&D don't like their data leaving the building,
but want a collaborative tool that's more technical than G docs. We're
exploring this space, hopefully while providing a kick-ass, free or very cheap
graphing tool for the public at large.

~~~
visualR
In my experience the public at large is satisfied with Excel/Numbers, while
scientists prefer their power tools like R or Matlab. Perhaps you should pivot
and build something like RStudio but for numpy.

~~~
simonster
Isn't IPython essentially RStudio for Python? I'm greatly enamored of IPython
Notebook's general approach to organizing data analysis (see
<http://ipython.org/notebook.html>), although 1) it currently lacks
interactive plotting tools and 2) I think it's targeted toward a more
technical audience than this.

~~~
kyzyl
To take that a step further, Continuum Analytics has a product called
Wakari[1] that is pretty much a web-based, sandboxed, nicely glued together
version of everything mentioned in this thread: python environment, IDE,
IPython notebook, interactive plotting, collaborative sharing, SSH console,
file manager, dataset manager. It hooks into various APIs, S3, etc., and based
on my usage so far it is very good UI/UX decisions... almost as if actual
scientists designed it.

Of course, it is not free! Right now it's in beta and (I think) anyone can try
it though. I'm not sure what their plan is for pricing, although I do believe
they mentioned a local install option for clients who don't want their data
walking out of the building.

(I am in no way affiliated)

[1] <http://www.wakari.io>

~~~
darkarmani
Thank you for your kind comments.

The lowest tier of service will remain free after the beta is finished. The
free tier gives you access to a lot less resources, but it should still be
useful.

Within the next week, we'll be pushing Ipython clustering. You'll be able to
pay for additional compute nodes of various sizes and Wakari will provision
them and integrate them into an Ipcluster.

~~~
kyzyl
Thanks for correcting me, both of you. Goes to show that you can't trust
everything people say on the internet :-)

Seriously though, great work on your whole product suite! I keep finding
myself going "I wish it would.... oh, it does.", and that's the kind of thing
that will keep me around.

side note: when viewing a slice of the yahoo dataset plotted interactively in
wakari, the zoom tool seems to completely crap out. the whole notebook hangs.
updated chrome on win 7.

~~~
quasiben
How big was the slice? Were you trying to plot with bokeh or matplotlib?

~~~
kyzyl
Bokeh, and it was a complete vertical slice through the stocks "dataframe"...
so one point for how every many tickers there are... probably around 3300?

It's a lot of points, but I was just pointing out that it wasn't slow, it
failed.

~~~
pwang
Thanks for letting us know! We are actively working on Bokeh, and the version
that's there is still pretty early-stage. This will definitely improve in the
coming months.

------
feniv
Wow. Great UI! The selling point for me is the ability to simply plot points
using python code in a browser.

------
vnagpal
can anybody please explain how to plot in it using python i tried example

x=[5,7,9,3,1,8,12] y=[3,7,6,1,7,11,8] plot(x,y)

after clicking the button "Run" its not doing anything

------
jparmer
Thoughts?

~~~
txttran
I don't use matlab-esque tools that much, so I can't really comment on the
functionality, but from a web dev perspective, it's really cool! How long did
it take you guys to build it?

~~~
jparmer
It took two of us about 6 months, with one of us part-time and a few friends
helping after their day jobs.

------
jopof
It seems more like gnuplot than matlab. Can I write matlab code?

~~~
thomaslutz
Perhaps the poster used Matlab just to plot things.

