Hi all,
It may not have escaped everyone's notice that I have not been quite as responsive of late. This was partly due to an unexpected family medical situation three weeks ago (everyone is fine now!) But also since then, I have been heads down on a large overhaul that probably should have happened a long time ago. Bokeh's handling of categoricals has been severely lacking for several years. But I am happy to say that the work has been merged and I believe it brings a vast improvement to the user-experience around handling of categorical data. You can see a preview of the work in the latest dev docs:
Handling categorical data — Bokeh 2.3.3rc1 Documentation
But in brief: things that *should be* simple, like stacked and grouped bar charts, nested hierarchical axes, categorical heat maps and jittered scatters, direct Pandas integrations, finally actually *are simple* in the bokeh.plotting API.
Another really interesting feature from Claire Tang is fiterable and groupable CDS views:
Filterable and groupable CDS by clairetang6 · Pull Request #5933 · bokeh/bokeh · GitHub
I think eventually this will be one of the most useful foundational features in Bokeh, supporting many other capabilities.
Additionally, Luke Canavan has recently been working on network and graph rendering support, including configurable and extensible hover/selection/highlight polices. This has been an open issue for years, so we are pleased to finally be able to move it forward. We are still working on docs, but you can see an example here:
bokeh/graphs.py at branch-3.0 · bokeh/bokeh · GitHub
The reason I wanted to mention all this is that this release has a bit more in the way of changes, and we could *really* use a lot of help to test it out. We are planning to try and release 0.12.7 before the end of the month, but that is really contingent on making sure that we haven't broken anything serious in adding these great new features! So please, check out the easy to install dev15 build and give us feedback here or on GitHub (for bugs):
<no title> — Bokeh 2.4.2 Documentation
Finally, I'd love to add/improve the categorical docs even more, and could use help with that. I am a tinker/tool maker and not much of a user/data scientist. I am sure there are better or more interesting examples, or cases that are missed, that could be added. Input and perspective from the folks who would actually use Bokeh for interesting work would be very welcome! The ReST source for the categorical docs is here:
bokeh/categorical.rst at branch-3.0 · bokeh/bokeh · GitHub
Please feel free to open issues or PRs to help improve them.
Thanks,
Bryan