Matplotlib colorbar ticks on left/opposite side

You can switch the position of the ticks using c_ax.yaxis.set_ticks_position()

So for your example:

import matplotlib.pyplot as plt
import matplotlib as mpl

plt.viridis()

fig=plt.figure()
c_ax=plt.subplot(199)

cb = mpl.colorbar.ColorbarBase(c_ax,orientation='vertical')

c_ax.yaxis.set_ticks_position('left')

plt.savefig('my_colorbar.png')

enter image description here

Note you can also move the colorbar label in a similar way:

c_ax.yaxis.set_label_position('left')

And finally, in case you have a horizontal colorbar, and want to move the ticks and labels to the top, you can use the equivalent function on the xaxis:

c_ax.xaxis.set_label_position('top')
c_ax.xaxis.set_ticks_position('top')

For some reason applying changes to the colorbar input axes (cax parameter) did not work for me.

However, grabbing the axes from the colorbar object and then applying the changes worked nicely:

cb.ax.xaxis.set_ticks_position("top")