Попробуйте:
import matplotlib.pyplot as plt
import pandas as pd
d = {'col1': ["Yes", "No", "Yes", "No","Yes", "No"], 'col2': ["Low", "Medium", "Medium", "High","High", "Medium"]}
df = pd.DataFrame(data=d)
df_grouped = df.groupby('col2')['col1'].value_counts(normalize=False).unstack()
df_grouped.fillna(0, inplace=True)
ax = df_grouped.plot(kind='bar',width=0.8,stacked=True,figsize=(14,9))
list_values = df_grouped.values.flatten()
gr_values = np.sum(df_grouped.values, axis=1)
list_values = df_grouped.values.flatten('F')
for i, (rect, value) in enumerate(zip(ax.patches, list_values)):
if value != 0:
h = rect.get_height() /2.
w = rect.get_width() /2.
x, y = rect.get_xy()
ax.text(x+w, y+h,value,horizontalalignment='center',verticalalignment='center', weight='bold')
ax.text(x+w,gr_values[i%len(gr_values)]*1.03,gr_values[i%len(gr_values)],horizontalalignment='center',verticalalignment='center', weight='bold')
Вывод: ![enter image description here](https://i.stack.imgur.com/xpGca.png)