В коде было еще несколько мелких ошибок, поэтому он ничего не показывал на моем ноутбуке. Код ниже должен работать и давать желаемый результат.
from bokeh.models import ColumnDataSource, LabelSet
from bokeh.plotting import figure
from bokeh.transform import dodge
from bokeh.io import show
from bokeh.palettes import Viridis
data = {'Experience': ['1 To 3', '12 To 18', '3 To 8', '8 To 12'], 'Microsoft': [38, 4, 46, 12], 'SAS': [29, 2, 22, 6], 'Salesforce': [48, 4, 45, 8]}
source = ColumnDataSource(data)
exp = data['Experience']
ys = list(data.keys())
ys.remove('Experience')
TOOLTIPS = [("Experience", "@Experience")]
p = figure(x_range=exp, y_range=(0, 60), plot_height=350, title="Experience wise opening", tooltips=TOOLTIPS)
colorList = Viridis[len(ys)]
labels = []
for y, offset, color in zip(ys, [-0.25, 0, 0.25], colorList):
labels = LabelSet(x=dodge('Experience', offset, range=p.x_range), y=y, text=y, source=source, text_align='center')
p.vbar(x=dodge('Experience', offset, range=p.x_range), top=y, width=0.2, source=source, legend=y + ' ', color=color)
p.add_layout(labels)
TOOLTIPS.append((y, "@"+y))
p.legend.click_policy="hide"
show(p)
![enter image description here](https://i.stack.imgur.com/288ET.png)