使用matplotlib给图添加数据标签的问题

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
heart = pd.read_csv('C:/Users/Mac/Desktop/heart.csv')

countNoDisease = len(heart[heart['target']==0])
countHaveDisease = len(heart[heart['target']==1])
total = len(heart['target'])
rateNo = countNoDisease/total100
rateHave = countHaveDisease/total
100
diseaseRate = pd.Series({'正常':countNoDisease, '患病': countHaveDisease})
plt.bar(diseaseRate.index,diseaseRate.values,color='lightskyblue')
plt.title('患病和正常人群分布',fontsize=14)
plt.xlabel('是否患病',fontsize=12)
plt.ylabel('人数',fontsize=12)
plt.ylim([0,200])
for a,b in zip('x,','y'):
plt.text(a,b+3,b,ha='center',fontsize=12)
plt.show()
想达到这个图的效果

img


提示错误:TypeError: can only concatenate str (not "int") to str
应该怎样解决?为什么会出现这个错误

可以参考这一篇中柱状图绘制部分

【基础汇总】——python数据分析必备三大工具_貮叁的博客-CSDN博客