I have started work on a PR to add categorical axes, ranges, etc. I’ve attached a screen shot of a demo from the mostly-working PR. The main issue to resolve is how to locate an axis that crosses a categorical axis, now that the “min” and “max” locations of the cross axis do not necessarily coincide with the plot border. Any feedback, comments, suggestions are appreciated:
The demo is currently only a BokehJS demo, “categorical.html” under bokehjs/build/demo. I will try to expose the python interface by Wednesday.