python绘制柱形图的方法

 更新时间:2022年04月21日 12:02:04   作者:Wayne0926  
这篇文章主要为大家详细介绍了python绘制柱形图的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了python绘制柱形图的具体代码,供大家参考,具体内容如下

#柱形图
import pandas
import numpy
import 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 qt
plt.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 Web框架Flask中使用新浪SAE云存储实例

    Python Web框架Flask中使用新浪SAE云存储实例

    这篇文章主要介绍了Python Web框架Flask中使用新浪SAE云存储实例,本文是对SAE云存储的简单封装,需要的朋友可以参考下
    2015-02-02
  • python实现在函数图像上添加文字和标注的方法

    python实现在函数图像上添加文字和标注的方法

    今天小编就为大家分享一篇python实现在函数图像上添加文字和标注的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python实现用户登录注册

    Python实现用户登录注册

    这篇文章主要为大家详细介绍了Python实现用户登录注册,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • Python利用第三方模块实现压缩css文件

    Python利用第三方模块实现压缩css文件

    在 Python 中可以使用多种方法来压缩 CSS 文件。其中一种流行的方法是使用 csscompressor 库,这个库可以帮助你压缩 CSS 代码,下文就来和大家详细聊聊
    2023-01-01
  • python3.6 tkinter实现屏保小程序

    python3.6 tkinter实现屏保小程序

    这篇文章主要为大家详细介绍了python3.6 tkinter实现屏保小程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • Django自带用户认证系统使用方法解析

    Django自带用户认证系统使用方法解析

    这篇文章主要介绍了Django自带用户认证系统使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • python中的函数用法入门教程

    python中的函数用法入门教程

    这篇文章主要介绍了python中的函数用法,包括了函数的定义及参数的各种注意事项等,对Python初学者有很好的借鉴价值,需要的朋友可以参考下
    2014-09-09
  • 详解如何使用Pytest进行自动化测试

    详解如何使用Pytest进行自动化测试

    这篇文章主要介绍了详解如何使用Pytest进行自动化测试,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 使用Python实现ELT统计多个服务器下所有数据表信息

    使用Python实现ELT统计多个服务器下所有数据表信息

    这篇文章主要介绍了使用Python实现ELT统计多个服务器下所有数据表信息,ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程,需要的朋友可以参考下
    2023-07-07
  • 在Python中等距取出一个数组其中n个数的实现方式

    在Python中等距取出一个数组其中n个数的实现方式

    今天小编就为大家分享一篇在Python中等距取出一个数组其中n个数的实现方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11

最新评论