python绘制柱形图的方法
作者:Wayne0926 发布时间:2022-03-07 07:36:06
标签: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()
结果为:
来源:https://blog.csdn.net/Wayne0926/article/details/96993043


猜你喜欢
- 在项目中操作数据库的三大步骤安装操作 MySQL 数据库的第三方模块(mysql)通过 mysql 模块连接到 MySQL 数据库通过 my
- 一、下载git可以官网下载,傻瓜步骤安装就行下载好之后需要在idea中配置git,在File》settings》version Contro
- 1、使用字符串函数replace>>> a = 'hello world'>>> a.r
- 前言我们在写sql语句的时候,总是无法避免使用到连接关键词,比如内连接、外连接。种类是很多的,我在这里贴上一张在别处找到的图:这张图我认为是
- 本文实例分析了php文件操作的方法。分享给大家供大家参考,具体如下:一、删除文件unlink()语法: int unlink(string
- 先看效果,实现一个图片左右摇动,在一般的H5宣传页,商家活动页面我们会看到这样的动画,小程序的动画效果不同于css3动画效果,是通过js来完
- 修改list中所有元素类型:方法一:new = list()a = ['1', '2', '3
- 1.能调用方法的一定是对象,比如数值、字符串、列表、元组、字典,甚至文件也是对象,Python中一切皆为对象。 str1 = 'he
- OS库提供通用的,基本的操作系统交互功能。-OS库是Python标准库,包含几百个函数-常用路径操作,进程管理,环境参数等几类-路径操作:
- Pygame是一个超好用的SDL绑定。自从有了Pygame,妈妈再也不用担心我内存泄漏了。但是这里有一个问题,Pygame的Movie模块已
- 在很多应用程序开发中,需要记录某些数据表的历史记录或修改痕迹,以便日后出现数据错误时进行数据排查。这种业务需求,我们可以通过数据库的触发器来
- 一、字典转dataFrame1、字典转dataFrame比较简单,直接给出示例:import pandas as pddic = {'
- 详解Python中的三元运算什么是三元运算符在大部分编程语言中都有三目运算,也称三元运算,Python语言从Python2.5版本开始也引入
- 比较简单的一个页面,类似csdn论坛在ns下的左边列表 描述: 1. 数据名:tree.mdb 表名:tree 表结构:id(自编)&nbs
- 在Python中函数可以作为参数进行传递,而也可以赋值给其他变量(类似Javascript,或者C/C++中的函数指针);类似Javascr
- 最近群里好多人讨论oracle安全问题,今天找了些资料学习了下 获取Oracle当前会话的一些属性 (对于sql注射的环境判断很有用哦) S
- 前言之前做的一个需求,简化描述下就是接受其他组的 MQ 的消息,然后在数据库里插入一条记录。为了防止他们重复发消息,插入多条重复记录,所以在
- 本文记录了Anaconda2安装NLTK的方法,供大家参考,具体内容如下先看我的python和Anaconda版本启动anaconda命令窗
- 很多初学者会使用windows作为开发机使用, 今天就来看下如何在win10和Linux下分别安装Python虚机环境。虚机环境有非常多的优
- 一、前言用Java开发企业应用软件, 经常会采用Spring+MyBatis+Mysql搭建数据库框架。如果数据量很大,一个MYSQL库存储