Hacker News new | past | comments | ask | show | jobs | submit login

I work as a data scientist (like many others in this thread) and Altair is a great tool for exploring the data. I really like the grammar of graphics approach and the ability to do things like cross-filter and the general ease of enabling interactivity are great! Amazing work by everyone on the Altair/Vega team.

There are some drawbacks though that have been holding some of my colleagues back from switching from e.g. Seaborn to Altair:

- No zoom by selecting the x- or y-range. Almost all other libraries implement box-zoom, Altair does not have this. This is probably the biggest complaint I have heard so far.

- Annotating data inside the plot is difficult. I don't mean `mark_text`, I mean placing an annotation that you would do in Matplotlib via `ax.text(...)`.

- Along side that: No TeX support.

- It does become slow once there is a large number of points in the chart (and you don't want to aggregate).

- Missing mapping features. I know you can have maps in the background of your plot, but I'm talking OSM like mapping.

- Working with layered + faceted charts takes some time to get used to.

- It used to be that if you had a dataframe with 100 columns and you were only plotting two of them, still all 100 columns would be saved to html. I think this is addressed in VegaFusion?

Still, I want to just emphasize how much I love Altair. To understand relations in your data, it's amazing to just assign color to a column, shape to another column and so on. Really neat! With a background in mathematics, it was also helping me to think about the whole tidy approach to dataframes, so that was an added benefit!




(Disclaimer: I'm a Vega-Altair maintainer)

Thanks for the feedback and for the kind words! All of these drawbacks are fair, just a couple of comments.

There is an experimental package called altair_tiles that makes is possible to add OSM-style maptile backgrounds to Altair charts. See https://github.com/altair-viz/altair_tiles. This is mostly for static charts at the moment, as it doesn't integrate well with pan/zoom yet.

As you mentioned, VegaFusion is able to remove unused columns in most cases. (And if it doesn't for a particular case, please open an issue!).


Thanks for the feedback! Looking forward to `altair_tiles`. And again, great work, very much appreciate it!

Maybe while you're here: Is there any desire to implement box-zoom (or x-range zoom) at any point in the future?


Box zoom would need to be added to Vega-Lite first, and there has been some discussion around it in https://github.com/vega/vega-lite/issues/4742. Bottom line is that there's nothing blocking its implementation, someone just needs to do the work in Vega-Lite. And once released in Vega-Lite, Altair would pick it up automatically with how we generate the Altair API from the Vega-Lite schema.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: