千家信息网

如何用python绘制柱形图

发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,这篇文章主要介绍了如何用python绘制柱形图的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何用python绘制柱形图文章都会有所收获,下面我们一起来看看吧。#柱形图i
千家信息网最后更新 2025年01月17日如何用python绘制柱形图

这篇文章主要介绍了如何用python绘制柱形图的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何用python绘制柱形图文章都会有所收获,下面我们一起来看看吧。

#柱形图import pandasimport numpyimport matplotlib from matplotlib import pyplot as plt#导入数据data_columns=pandas.read_csv('D://Python projects//reference data//6.4//data.csv')#定义中文格式font={'family':'MicroSoft Yahei',      'weight':'bold',      'size':12}matplotlib.rc('font',**font)#使用手机品牌作为分组列,月消费作为统计列result_columns=data_columns.groupby(        by=['手机品牌'],        as_index=False)['月消费(元)'                      ].agg({'月总消费':numpy.sum                              })#生成一个间隔为1的序列index=numpy.arange(result_columns.月总消费.size)#绘制纵向柱形图plt.bar(index,result_columns['月总消费'])#%matplotlib qtplt.show()#配置颜色maincolor=(42/256,87/256,141/256,1)plt.bar(index,        result_columns['月总消费'])plt.show()#配置X轴标签plt.bar(index,        result_columns['月总消费'])plt.xticks(index,result_columns.手机品牌)plt.show()#对数据进行降序排序后展示result_asd=result_columns.sort_values(        by='月总消费',        ascending=False)plt.bar(index,        result_asd.月总消费,        color=maincolor)plt.xticks(index,result_asd.手机品牌)plt.show()

结果为:

#横向柱形图result_asd=result_columns.sort_values(        by='月总消费',        ascending=False)plt.barh(index,        result_asd.月总消费,        color=maincolor)plt.yticks(index,result_asd.手机品牌)plt.show()

结果为:

#计算出交叉表的数据result=data_columns.pivot_table(        values='月消费(元)',        index='手机品牌',        columns='通信品牌',        aggfunc=numpy.sum)

结果为:

#定义三个颜色index=numpy.arange(len(result))mincolor=(42/256,87/256,141/256,1/3)midcolor=(42/256,87/256,141/256,2/3)maxcolor=(42/256,87/256,141/256,1)#建立簇状柱形图plt.bar(        index,        result['全球通'],        color=mincolor,        width=1/4)plt.bar(        index+1/4,        result['动感地带'],        color=midcolor,        width=1/4)plt.bar(        index+1/2,        result['神州行'],        color=maxcolor,        width=1/4)plt.xticks(index+1/3,result.index)#添加图例plt.legend(['全球通','动感地带','神州行'])plt.show()

结果为:

#重新排序进行绘制result=result.sort_values(        by='神州行',        ascending=False)plt.bar(        index,        result['全球通'],        color=mincolor,        width=1/4)plt.bar(        index+1/4,        result['动感地带'],        color=midcolor,        width=1/4)plt.bar(        index+1/2,        result['神州行'],        color=maxcolor,        width=1/4)plt.xticks(index+1/3,result.index)plt.legend(['全球通','动感地带','神州行'])plt.show()

结果为:

#绘制堆叠柱形图result=result.sort_values(        by='神州行',        ascending=False)plt.bar(        index,        result['全球通'],        color=maxcolor)plt.bar(        index,        result['动感地带'],        bottom=result['全球通'],        color=midcolor)plt.bar(        index,        result['神州行'],        bottom=result['全球通']+result['动感地带'],        color=mincolor)plt.xticks(index,result.index)plt.legend(['全球通','动感地带','神州行'])plt.show()

结果为:

#绘制双向柱形图plt.barh(        index,        result['神州行'],        color=midcolor)plt.barh(        index,        -result['动感地带'],        color=maxcolor)plt.yticks(index,           result.index)plt.legend(['动感地带','神州行'])plt.show()

结果为:

关于"如何用python绘制柱形图"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"如何用python绘制柱形图"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

0