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')
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')
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…