Live data from Hacker News

Observable Plot

observablehq.com

1–10 of 56 posts

Re: Observable Plot

#2
We’ve been developing Observable Plot for a while now, and I’m thrilled to finally have it out in the public. Feel free to ask me any questions! Or share your plots on Observable and I can make suggestions. ;)

Re: Observable Plot

#3
As soon as I saw this, I thought: 'how is this different from vega lite'.

An answer is here: https://observablehq.com/@observablehq/plot-vega-lite

It'll be very interesting to see this develop. My initial reaction, as a vega-lite user is I'm not sure it's worth learning the new API immediately.

Having said that, I do find the idea of writing transforms in javascript compelling, and I can see there may be some situations in which this is a very elegant solution.

I think the idea of a plotting library allowing transforms is initially a little jarring - feels potentially like poor separation of concerns. But the more I think about it, the more it seems really logical: a lot of transforms (e.g binning) are done only for plotting purposes, in which case keeping them in the visualisation logic makes complete sense.

Looking further ahead (not sure this is possible in Plot yet, but giving its integration with Observable I'm sure it will be), the idea of a reactive model where charts can both react to user interactions, but also be the source of inputs (select a range, drag a bar, draw a distribution freehand) is very exciting.

Transforms and signals are both possible in vega/vega lite, but I can definitely see the benefit of them being cleaner and being able to accept arbitrary javascript.

Re: Observable Plot

#4
post #2

We’ve been developing Observable Plot for a while now, and I’m thrilled to finally have it out in the public. Feel free to ask me any questions! Or share your plots on Observable and I can make suggestions. ;)

I didn't see any mention of this, but does Observable Plot support interactive charts? E.g. detailed summary on data point hover?

Re: Observable Plot

#5
post #3

As soon as I saw this, I thought: 'how is this different from vega lite'. An answer is here: https://observablehq.com/@observablehq/plot-vega-lite It'll be very interesting to see this develop. My initial reaction, as a vega-lite user is I'm not sure it's worth learning the new API immediately. Having said that, I do find the idea of writing transforms in javascript compelling, and I can see there may be some situati…

Yep, transforms in Plot are totally optional — you can do them outside of plotting if it’s more convenient for you, say using Arquero, and it tends to be efficient since you can supply Plot with columnar data. But having transforms integrated with plotting is convenient for fast exploration, especially since it plays nicely with faceting.

We allude to this in overview, but yes it is our intention to leverage Observable’s dataflow for interactivity, both for any cell to drive what is shown in a plot, and for the plot to drive computation in downstream cells. E.g., you can brush a scatterplot and then show the selected data in a table. Observable Plot is designed to work with Observable Inputs (or anything else interactive):

https://observablehq.com/@observablehq/inputs

Plot is designed to leverage Observable’s language-level interactivity (dataflow) rather than design a new interaction system that is limited to within the visualization.

Re: Observable Plot

#7
post #2

We’ve been developing Observable Plot for a while now, and I’m thrilled to finally have it out in the public. Feel free to ask me any questions! Or share your plots on Observable and I can make suggestions. ;)

[deleted]

Re: Observable Plot

#8
post #4
post #2

We’ve been developing Observable Plot for a while now, and I’m thrilled to finally have it out in the public. Feel free to ask me any questions! Or share your plots on Observable and I can make suggestions. ;)

I didn't see any mention of this, but does Observable Plot support interactive charts? E.g. detailed summary on data point hover?

Yes, in a variety of ways. All marks currently support native tooltips (the title channel), and in the near future we’ll be releasing more interactions that you can compose into the chart, e.g. for brushing or pointing. As I mentioned in another comment here, Plot is designed to leverage Observable’s language-level interactivity (dataflow) — so all plots are reactive by default, and plots can expose an interactive selection to the rest of the notebook.

Re: Observable Plot

#9
post #3

As soon as I saw this, I thought: 'how is this different from vega lite'. An answer is here: https://observablehq.com/@observablehq/plot-vega-lite It'll be very interesting to see this develop. My initial reaction, as a vega-lite user is I'm not sure it's worth learning the new API immediately. Having said that, I do find the idea of writing transforms in javascript compelling, and I can see there may be some situati…

The first-order difference seems to be: Plot looks designed to be quicker to learn and take less syntax when you want to throw something generic up quickly, with an API carefully designed to get out of the way.

One of the things I have previously found Javascript to lack compared to Matlab, R, Python, or Julia (or Excel for that matter) for doing exploratory data analysis is a standard dead-simple plot tool when you want to draw a bar chart or scatter plot without thinking about it or making any up-front decisions.

Vega-lite (and especially D3) make it possible to make pretty and sophisticated charts with lots of bells and whistles, but I still find vega-lite heavyweight when I want a plot right now. This would surely get easier with experience, but for a newcomer it still adds noticeable friction.

Re: Observable Plot

#10
post #5
post #3

As soon as I saw this, I thought: 'how is this different from vega lite'. An answer is here: https://observablehq.com/@observablehq/plot-vega-lite It'll be very interesting to see this develop. My initial reaction, as a vega-lite user is I'm not sure it's worth learning the new API immediately. Having said that, I do find the idea of writing transforms in javascript compelling, and I can see there may be some situati…

Yep, transforms in Plot are totally optional — you can do them outside of plotting if it’s more convenient for you, say using Arquero, and it tends to be efficient since you can supply Plot with columnar data. But having transforms integrated with plotting is convenient for fast exploration, especially since it plays nicely with faceting. We allude to this in overview, but yes it is our intention to leverage Observab…

Really interesting, thanks!

Great that it accepts colunar data, that was a question that had immediately sprung to mind. There's something very satisfying about processing data using Arquero's grammar of data transformation and then immediately passing it over to a grammar of data visualisation (Vega Lite, or now Plot).

Alongside arrow, This kind of thing makes me very excited about javascript becoming a serious option for processing even moderately large amounts of data.

Thanks so much for Observable - it's is by far my favourite programming tool for working with data (my day job is Spark, Python and R, pretty strong competition!)

Post reply on HN