Readit News logoReadit News
shcheklein · 2 years ago
Good to see this project on the front page! We are using Vega (specifically Vega-Lite [1] as an engine and templates spec for data-science plots / visualizations in DVC (e.g. how it looks like in VSCode extension [2]).

It allowed us to have:

- same engine in CLI (can generate HTML and open in browser), VSCode extensions, SaaS

- have a way to describe plot visualization / representation as a declarative spec that can be then used in all those products (plot spec). We were exploring plotly and AFAIU there was no easy way to do the same

- it's quite comprehensive and community is responsive, the project is maintained

To name a few downsides from our experience:

- DSL is quite complicated. It requires some time to master it. It hurts the adoption. In our case I don't see that many users doing custom plots / templates - majority is using pre-baked built-in stuff or use Python and export as SVG.

- In our case some features were missing (and are still missing) - exponential average - that is most commonly used to smooth ML training curves.

[1] https://vega.github.io/vega-lite/

[2] https://dvc.org/doc/user-guide/experiment-management/visuali...

christkv · 2 years ago
I found chat gpt to be half decent at generating specs but far from perfect. At least it helps as a supplement to the docs which are not great.
mukundesh · 2 years ago
Wish GitHub markdown would support Vega-lite to create charts that would be a great combination.

Here is a brief discussion on the same https://github.com/orgs/community/discussions/16963

breck · 2 years ago
I don't see that ever happening in a pleasant way. Lots of little technical reasons why not.

However, we will likely have Vega support sometime soon in Scroll. Someone just needs to volunteer and add it (or someone has to fund us to add that).

We now have basics of ObservablePlot (https://observablehq.com/plot/) support (https://scroll.pub/blog/tables.html)

echion · 2 years ago
> Lots of little technical reasons why not.

What are some?

acomjean · 2 years ago
We use Vega lite for our web base graphs at work. We love the “export as svg” feature. It’s by the same people but with fewer options but easier to set up.

Like all graphing libraries, it’s chasing the gold standard which is R’s ggplot2. It’s as close as we’ve found in JavaScript, plus it can be interactive.

https://vega.github.io/vega-lite/

They have a python version as well.

loa_observer · 2 years ago
Wow, Vega is here!

All our projects for data analytic and visualization are based on vega/vega-lite, really impressive by vega's signals design when i learned it first time(it's like rxjs, which i also love).

Share some work based on vega/vega-lite:

- PyGWalker: turn dataframe to tableau alternative UI in jupyter: https://github.com/Kanaries/pygwalker - RATH: Automation of data exploration workflow with one click. https://github.com/Kanaries/Rath - GWalkR: drag-and-drop based visualization in RStudio, https://kanaries.net/gwalkr

captaindiego · 2 years ago
Also there's Vega-Altair for using this from Python: https://altair-viz.github.io/gallery/index.html
flutetornado · 2 years ago
Altair is superb. Have used it a lot and it has become my default visualization library. Works in VSCode and Jupyter Lab. The author has a great workshop video on youtube for people interested in altair. I especially like the ability to connect plots with each other so that things such as selecting a range in one plot changes the visualization in the connected plot.

One possible downside is that it embeds the entire chart data as json in the notebook itself, unless you are using server side data tooling, which is possible with additional data servers, although I have not used it, so cannot say how effective it is.

For simple plots its pretty easy to get started and you could do pretty sophisticated inter plot visualizations with it as you get better with it and understand its nuances.

domoritz · 2 years ago
Awesome to hear that you like Vega Altair. With the recent integration of VegaFusion you don’t need to embed the data in the notebook anymore and I’ve found Altair to scale quite well. Give it a shot.
clkao · 2 years ago
the uw data lab behind vega also has a new library mosaic[1] that seems pretty exciting. My impression was it allows flexible data transformation/slicing in both the client side and server side, with the same dsl.

[1] https://github.com/uwdata/mosaic

theLiminator · 2 years ago
Oh wow, that's very cool. Being able to push down queries all the way to parquet while existing purely on the clientside via duckdb wasm is very cool. This enables purely static visualizations with full interactivity and full query optimization.
taeric · 2 years ago
I was expecting a more language like thing on the description. Something like gnuplot. Maybe the grammar of graphics available to R. Instead, this is json schemas, if I'm understanding correctly.
aldanor · 2 years ago
There's also interesting projects for serverside scaling of vega plots - https://github.com/vega/vegafusion