Skip to content

Conversation

@maximlt
Copy link
Member

@maximlt maximlt commented Dec 4, 2025

We need approval from all maintainers.

Copy link
Member

@hoxbro hoxbro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some very minor comments.

doc/roadmap.md Outdated
### 2. Refactor the test suite

hvPlot users have repeatedly complained about the quality of its documentation, which seems to mostly stem from:
The test suite should be re-factored and improved to catch bugs before users have to report them and to prevent potential regressions.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would you like to add testing for cuDF, even if only to run locally?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's something I'm gonna do but would be happy if you want to do it. I don't think there's a need to add it to the roadmap though.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was the answer I hoped for 👍

And I also don't think it should be on the roadmap, but it's more of a curiosity for me.

Copy link
Collaborator

@ahuang11 ahuang11 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm fine with all, and would like to add an additional comment

5. Increase hvPlot's presence within PyData

Since we're releasing 1.0, I think it may be worth revisiting hvPlot’s default settings to elevate the out-of-the-box UI/UX and follow some best data visualization practices from books like Storytelling Data Visualization and/or How Charts Lie, or at least document how to do it in hvPlot.

Many users reach for Plotly or Seaborn because their defaults are immediately more visually appealing (and in Seaborn’s case, offer built-in statistical plotting). We could also document how to better integrate with websites, dashboards, and publications.

Co-authored-by: Simon Høxbro Hansen <[email protected]>
@maximlt
Copy link
Member Author

maximlt commented Dec 5, 2025

Since we're releasing 1.0, I think it may be worth revisiting hvPlot’s default settings to elevate the out-of-the-box UI/UX and follow some best data visualization practices from books like Storytelling Data Visualization and/or How Charts Lie, or at least document how to do it in hvPlot.

Many users reach for Plotly or Seaborn because their defaults are immediately more visually appealing (and in Seaborn’s case, offer built-in statistical plotting). We could also document how to better integrate with websites, dashboards, and publications.

These are all great ideas! I'll personally focus on the items I listed (if they're fine with other maintainers), so if you want your suggestions to be part of the 1.0 release, it's likely you'll have to do the work yourself, including reaching consensus on the new UI/UX defaults (which should be possible).

@ahuang11
Copy link
Collaborator

ahuang11 commented Dec 5, 2025

The visually appealing part, I think it's a matter of changing up the themes as the default, which shouldn't be a huge lift, e.g. https://medium.com/@pYdeas/create-publication-styled-figures-with-hvplot-using-the-bokeh-backend-b623ab48a5d2

Perhaps adding more themes to Bokeh, and then documenting how to use themes in hvplot, which currently has no documentation on (https://hvplot.holoviz.org/en/docs/latest/search.html?q=theme). Also pretty sure AI can help with it as well :)

Did you want me to edit the roadmap with these new desired changes, or wait for others to comment?


For the books, I think I need to re-review what's in them. One of them I just remember is ensuring the legends ordering semi-match with the lines' min to max, or simply adding labels directly to the lines, like this:

image

If we can add some easy way for users to do this, like hvplot ui/ux util methods to do this, I think that'd be great.

@maximlt
Copy link
Member Author

maximlt commented Dec 6, 2025

which shouldn't be a huge lift

Technically indeed I guess that's not a big lift. Coming up with a set of defaults we all agree on will be the challenge for you.

Perhaps adding more themes to Bokeh, and then documenting how to use themes in hvplot, which currently has no documentation on (https://hvplot.holoviz.org/en/docs/latest/search.html?q=theme). Also pretty sure AI can help with it as well :)

Having more Bokeh themes sounds good, especially if they're well-maintained and thoroughly developed. In the Python viz landscape there are already well-known themes that I'm sure would be interesting to make available in Bokeh (stock matplotlib, seaborn, plotly, ggplot, etc.), which in turn would make them available in HoloViews and hvPlot. Creating a new theme from scratch sounds more challenging.

Adding documentation on how to set a theme in hvPlot sounds like a great idea, I think that would be a how-to.

Did you want me to edit the roadmap with these new desired changes, or wait for others to comment?

Well I'm okay with that being part of the 1.0 roadmap but I'd suggest you create first a separate issue and add more details about what you intend to do before the 1.0 release. I've already discussed multiple times the other items (docs, test suite refactor, pie charts, narwhals) so there was already some sort of agreement.

If we can add some easy way for users to do this, like hvplot ui/ux util methods to do this, I think that'd be great.

I'm not sure what you mean with util methods. Probably worth being discussed in another issue.

Copy link
Member

@philippjfr philippjfr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I started commenting on individual items but considering the document as a whole I think my main problem with it is that there's some conflation of specific goals and general principles that we're aiming for. In other words, a lot of it doesn't necessarily read like a roadmap but general statements of intent. Which I think is actually perfectly appropriate but should imo not be folded in with the more specific items talking about specific features.

The essence I'm getting from a number of the items is that the focus is moving away from just adding more features to stability by improving test coverage, fixing bugs, tracking HoloViews feature development, increasing adoption etc. and then there are more specific and classic roadmap items.

My suggestion here would be to start out with a paragraph outlining the overall strategy, i.e. the why, the focus on stability, testing, bug fixes, adoption etc. and only then breaking down specific quantifiable goals for both pre- and post 1.0 releases.

doc/roadmap.md Outdated
# Roadmap

This page includes an ambitious roadmap for hvPlot for 2024.
hvPlot was released in 2018 and has gained many features since then, becoming a super-charged version of Pandas `.plot()` API, with support for many data structures of the PyData ecosystem (Pandas, Dask, Xarray, GeoPandas, etc.), for multiple plotting backends, and for many powerful features (plotting large datasets with Datashader, geographic data with GeoViews, plotting streaming data, etc.). Yet, it hasn't been adopted as much as we hoped.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yet, it hasn't been adopted as much as we hoped.

Would reframe this with a positive spin, e.g. "Despite this hvPlot isn't currently as widely known as some of the alternatives and has huge room to grow."

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, replaced by your suggestion in 4c15db0.

Copy link
Member

@philippjfr philippjfr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! My only comment is that at least some of it is just boils down to "fix more bugs, improve documentation and add more tests". That might come across as stating the obvious, especially when presented as bullet points like "The test suite should catch more bugs". So maybe explicitly frame them as principles:

hvPlot Development Principles

  1. Reliability First

Prioritize reducing bugs over introducing new features. New features and enhancements are welcome, but only when they do not compromise overall stability. Bugs originating in hvPlot's dependencies, particularly HoloViews, should be easy for users to discover, track, and see resolved through clear GitHub issues and coordinated fixes.

  1. Documentation as a Core Feature

Treat documentation as a first-class part of the project. Continuously improve clarity, coverage, and examples, such as by expanding the gallery, until the documentation meets or exceeds the quality of comparable libraries (e.g. Altair, Plotly Express, plotnine). Ensure documentation remains accurate and up to date as the codebase evolves.

  1. Strong, Accessible Testing

Maintain a test suite that meaningfully catches regressions and common user errors. Make writing and extending tests straightforward so that contributors can easily add coverage alongside bug fixes and new functionality.

  1. User-Centered Developer Experience

Improve the day-to-day experience of using hvPlot by adding type hints to support IDE tooling and by providing clearer, more actionable error messages when things go wrong.

  1. Deep Integration with the PyData Ecosystem

Actively increase hvPlot’s visibility and adoption across the PyData ecosystem. Engage maintainers of related libraries through issues and discussions to explore deeper integration or exposure of hvPlot, and support those efforts with documentation updates and ongoing collaboration.

  1. Thoughtful Feature Completeness

Expose stable, relevant HoloViews capabilities through hvPlot when they add clear user value (e.g. dual axes, native Polars support). Identify and implement essential plotting features expected of a general-purpose plotting library when they are missing (e.g. pie charts), while maintaining hvPlot's simplicity and reliability.

@maximlt
Copy link
Member Author

maximlt commented Dec 17, 2025

I liked your last suggestion to express them as development principles and integrated it as such in 4c15db0.

@maximlt maximlt merged commit f711ae2 into main Dec 17, 2025
14 checks passed
@maximlt maximlt deleted the update_roadmap branch December 17, 2025 16:37
@holovizbot
Copy link

This pull request has been mentioned on HoloViz Discourse. There might be relevant details there:

https://discourse.holoviz.org/t/publication-quality-bar-chart/9041/2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants