See the answer here. https://discourse.bokeh.org/t/use-axis-in-a-conventional-way/5776/3
The solution specifies the axes origin in units of the data, not via enumerations like middle and center. The consequence being if you want it to be centered as plot ranges change, you’d probably have to make changes in a callback when the ranges change.