5 ms·
The idea behind Plotly is: to build a platform where people can collaboratively graph, analyze, and share data. Two months ago we launched Plotly on HN (https:/
by cparmer 13y ago
The idea behind Plotly is: to build a platform where people can collaboratively graph, analyze, and share data. Two months ago we launched Plotly on HN (https://news.ycombinator.com/item?id=5671831 https://news.ycombinator.com/item?id=5671831).
We received extremely helpful feedback, and are grateful to everyone who commented and used the product. Hearing from readers and new users was exciting, helpful, and insightful. So, thanks very much.
The #1 request was an API to generate plotly graphs from desktop environments. In response to that feedback, we are launching a new service so you can now send data from Python, MATLAB, R, and Arduino to your plotly account. Calls made with the API will return a link with a graph of your data, i.e. something like this: https://plot.ly/~chris/421/ https://plot.ly/~chris/421/. You can sign up through the API.
The graphs are interactive: click-drag to zoom, double-click to autoscale, shift-drag to pan, hover to view data points.
You can view the graphs inside plotly and style them with our GUI. For example, I sent data with the API to make this: http://plot.ly/~chris/554/ http://plot.ly/~chris/554/ and then styled it inside plotly to create this: https://plot.ly/~chris/653/ https://plot.ly/~chris/653/
HN: What do you think of the API? What else can we do to make Plotly a tool that you would realistically use every single day?
- Mithaldu 13y agoWhy don't you have a Perl API?
- zhemao 13y agoProbably because they didn't think many people would use it and had limited man-hours to spare. But it would be nice if they released some language-agnostic API like a REST interface so that people could write bindings for their own languages. They must be using something like that internally anyway.
- cema 13y agoYes, it would be helpful both for the customers (users, that is) and themselves too, as the potential number of users (and usages!) will grow.
- cparmer 13y agoYeah, that's a great idea. We'll definitely check that out.
- zhemao 13y agoHey, that's great! And good work so far, by the way. This looks pretty cool.
- zhemao 13y agoAlso, are your existing libraries open source? If not, it might be a good idea to, after finishing the REST interface, refactor your libraries to use the REST interface and then release them as open source. That way people could contribute to them and see how to write their own.
- cparmer 13y agoWe're focussing on the scientific-computation languages since those users are probably doing the most plotting on the day-to-day and are in most need of a better data collaboration tool. That being said, we'll add interfaces to other languages over time. Do you do a lot of plotting in Perl?
- Mithaldu 13y agoNot right now, but in the past i've worked on applications for plotting health-related data, activity of financial markets and created visualizations for bio-engineering researchers. Perl is one of the go-to languages for converting raw data into manager-friendly representations, has many tools for that already, and i'm sure many would be interested in adding another tool to their repertoire. Frankly, i find myself baffled that you'd think Perl is not a scientific-computation language, given the existence of BioPerl, PDL, GD::Graph and many other widely-used tools that relate to your field. If you'd agree to putting it on your API page, i'll happily do the needful and make a release to CPAN and port the examples you have there.
- cparmer 13y agoCool, that's really great feedback. I'm certainly more unfamiliar with the Perl community than with the other 3 languages, so thanks for sharing and offering your help!
- Mithaldu 13y agoSo, that doesn't answer the question. If i write the module and port the examples, will you put it on your website? (If you agree, giving me a github repo to make a pull req to, or an email to send the data to would help too.)
- cparmer 13y agoI'll definitely place a Perl (and other language modules) on the API page! I think the best way to go about this is to write a REST api as @zhemao suggested. Feel free to email me at chris[at]plot.ly :)
- drmr 13y agoLooks nice and I would definitely like to see support for other languages, like perl. But, what if I want to run my own infrastructure?
- cparmer 13y agoCool, that's super helpful feedback. We definitely support installing plotly on private servers -- there are certainly a lot of companies that won't let their data leave their building.
- cparmer 13y agoJust curious, for what reasons would you like to run it on your own infrastructure (computational reasons, data privacy reasons, etc)? Thanks for the feedback!
- stephengillie 13y agoLooking at the Arduino code, this would be a cool way to visualize data from a temperature sensor project which I was working on. I notice it will require an always-on connection in order to transmit data back to your servers. Do you have any plans for making something slightly more modular which could deal with devices that can't always "phone home"? Or maybe that's on us makers -- we need to store the data to SD or something, then build routines that send data when connected. Either way, using Plotly means your project has to have either an Ethernet shield or a Wifi module.
- cparmer 13y agoI see, thanks for the feedback. You could do that now by storing the data on your SD card and then dumping that data all at once whenever you want to connect. What kind of example do you have in mind when you say that your device can't "phone home"?
- RaphiePS 13y agoI'd love to see a Plotly-Serial bridge, which could be as simple as a tiny CLI. I keep most of my Arduino projects tethered to my computer anyway, so this wouldn't require any extra hardware. All I'd have to do is send something like "PLOT <number>" over the usb-serial connection. In fact, it'd be completely device-agnostic--it shouldn't matter if the device is an Arduino or a Propeller or a custom board as long as it can talk over serial. I might be in the minority of users who tether, and it'd be pretty easy to roll my own solution using the Python API. Nevertheless, it'd sure be convenient.
- cparmer 13y agoThat's a really great idea. I don't think that you are in the minority, considering the number of scientific instruments that talk over serial. It would be cool to make plotting from these devices one (or several) step(s) easier. Thanks for the feedback!
- stephengillie 13y agoI don't really have a scenario in mind, I'm just thinking that including this with a project means spending another $35 for a wifi or ethernet module (for either shield, it's about the same), the pinouts they'll take up, and the extra code to operate the modules. But there are many projects with those modules already integrated, and for them this looks like will be basically just a bolt-on of code.
- adiM 13y agoAny plans to add support for Julia as well. One of the things holding Julia back is a good plotting library.
- cparmer 13y agoI've been hearing that more and more lately. We'll definitely roll out Julia soon :)
- KenoFischer 13y agoIf you guys need help with that, do email julia-dev.
- cparmer 13y agoI will - thanks for tip!