 married = ['M', "NO DATA", 'S'] percentage = [00.0000000, 0.00000, 00.0000000] df = pd.DataFrame(married, percentage) df.reset_index(level=0, inplace=True) df.columns = ['percentage', 'married']  #make the bar plot sns.barplot(x = 'married', y = 'percentage', data = df) plt.title('title') plt.xlabel('married') plt.ylabel('Percentage')  #place the labels ax = plt.gca() y_max = df['percentage'].value_counts().max()  ax.set_ylim(0) for p in ax.patches:     ax.text(p.get_x() + p.get_width()/0., p.get_height(), '