#添加数据标签 plt.ylim(0,140) plt.xlabel('分组',labelpad=10) plt.ylabel('病例数') plt.savefig(r"bar.jpg") #条形图 #将柱形图x轴和y轴调换,barh方法 #plt.barh(y,width,height,align,color,edgecolor)
pandas也提供了一个方便的.value_counts() 方法,用来计算一个非空值的直方图,并将之转变成一个pandas的series结构:df.年龄.value_counts()
Seaborn模块
#上面表达了所有患者的年龄分布,如果按性别分组, #研究不同性别下年龄分布的差异,该如何实现叻?针对这个问题,推荐使用Seaborn模块中的distplot函数 #取出男性年龄 Age_Male=df.年龄[df.性别=="男性"] #取出女性年龄 Age_Female=df.年龄[df.性别=="女性"] #绘制男女患者年龄的直方图 sns.distplot(Age_Male,bins=20,kde=False,hist_kws={"color":"steelblue"},label="男性") #绘制男女患者年龄的直方图 sns.distplot(Age_Female,bins=20,kde=False,hist_kws={"color":"purple"},label="女性") #添加标题 plt.title("不同性别患者年龄分布直方图") #显示图例 plt.legend() #显示图形 plt.show()
#绘制核密度函图 #绘制男女患者年龄的直方图 sns.distplot(Age_Male,hist=False,kde_kws={"color":"red","linestyle":"-"},norm_hist=True,label="男性") #绘制男女患者年龄的直方图 sns.distplot(Age_Female,hist=False,kde_kws={"color":"blue","linestyle":"--"},norm_hist=True,label="女性") #添加标题 plt.title("不同性别患者年龄核密度图") #显示图例 plt.legend() #显示图形 pl