3 ms·
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 effici
by mbostock 5y ago
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 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.
- RobinL 5y agoReally 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!)