python matplotlib库绘制条形图练习题


Posted in Python onAugust 10, 2019

练习一:假设你获取到了2017年内地电影票房前20的电影(列表a)和电影票房数据(列表b),那么如何更加直观的展示该数据?

a = ["战狼2","速度与激情8","功夫瑜伽","西游伏妖篇","变形金刚5:最后的骑士","摔跤吧!爸爸","加勒比海盗5:死无对证","金刚:骷髅岛","极限特工:终极回归","生化危机6:终章","乘风破浪","神偷奶爸3","智取威虎山","大闹天竺","金刚狼3:殊死一战","蜘蛛侠:英雄归来","悟空传","银河护卫队2","情圣","新木乃伊",]

b = [56.01,26.94,17.53,16.49,15.45,12.96,11.8,11.61,11.28,11.12,10.49,10.3,8.75,7.55,7.32,6.99,6.88,6.86,6.58,6.23]

from matplotlib import pyplot as plt
import matplotlib

"""绘制条形图"""
font = {'family': 'MicroSoft YaHei'}
matplotlib.rc('font', **font) # 使支持中文

x = ["战狼2","速度与激情8","功夫瑜伽","西游伏妖篇","变形金刚5:最后的骑士","摔跤吧!爸爸","加勒比海盗5:死无对证","金刚:骷髅岛","极限特工:终极回归","生化危机6:终章","乘风破浪","神偷奶爸3","智取威虎山","大闹天竺","金刚狼3:殊死一战","蜘蛛侠:英雄归来","悟空传","银河护卫队2","情圣","新木乃伊",]

y = [56.01,26.94,17.53,16.49,15.45,12.96,11.8,11.61,11.28,11.12,10.49,10.3,8.75,7.55,7.32,6.99,6.88,6.86,6.58,6.23]

plt.figure(figsize=(20, 8), dpi=80) # 设置图形大小

# plt.bar(range(len(x)), y, width=0.3) # 绘制条形图,线条宽度
plt.barh(range(len(x)), y, height=0.3, color='orange') # 绘制横着的条形图,横着的用height控制线条宽度
# 设置字符串到x轴
plt.yticks(range(len(x)),x)

plt.grid(alpha=0.3) # 添加网格
plt.ylabel('电影名称')
plt.xlabel('票房')
plt.title('票房前20的电影')

plt.show()

效果图

python matplotlib库绘制条形图练习题

练习二:假设知道了列表a中电影分别在2017-09-14(b_14),2017-09-15(b_15),2017-09-16(b_16)三天的票房,为了展示列表中电影本身的票房以及同其它电影的数据对比情况,应该如何更加直观的呈现数据?
a = ["猩球崛起3:终极之战","敦刻尔克","蜘蛛侠:英雄归来","战狼2"]
b_16 = [15746,312,4497,319]
b_15 = [12357,156,2045,168]
b_14 = [2358,399,2358,362]

from matplotlib import pyplot as plt
import matplotlib

font = {'family': 'MicroSoft YaHei'}
matplotlib.rc('font', **font) # 使支持中文

a = ["猩球崛起3:终极之战","敦刻尔克","蜘蛛侠:英雄归来","战狼2"]
b_16 = [15746,312,4497,319]
b_15 = [12357,156,2045,168]
b_14 = [2358,399,2358,362]

bar_width = 0.2 # 绘制多个条形图,这里不能大于0.3
# 让后两个条形,向后移动一个bar_width
x_14 = list(range(len(a)))
x_15 = [i+bar_width for i in x_14]
x_16 = [i+2*bar_width for i in x_14]

plt.figure(figsize=(20, 8), dpi=80) # 设置图形大小
plt.xticks(x_15, a) # 设置x轴刻度

plt.bar(range(len(a)), b_14, width=bar_width, label='9月14日')
plt.bar(x_15, b_15, width=bar_width, label='9月15日')
plt.bar(x_16, b_16, width=bar_width, label='9月16日')

plt.legend() # 设置图例
plt.xlabel('电影名称')
plt.ylabel('票房/万')
plt.title('对比票房')
plt.savefig('./02.png')
plt.show()

效果图

python matplotlib库绘制条形图练习题

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用python装饰器验证配置文件示例
Feb 24 Python
python创建临时文件夹的方法
Jul 06 Python
使用Python读写文本文件及编写简单的文本编辑器
Mar 11 Python
由浅入深讲解python中的yield与generator
Apr 05 Python
python爬虫使用cookie登录详解
Dec 27 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
Mar 19 Python
python数据结构之线性表的顺序存储结构
Sep 28 Python
用Python实现读写锁的示例代码
Nov 05 Python
教你一步步利用python实现贪吃蛇游戏
Jun 27 Python
Python Matplotlib 基于networkx画关系网络图
Jul 10 Python
python mysql 字段与关键字冲突的解决方式
Mar 02 Python
Django路由层URLconf作用及原理解析
Sep 24 Python
Python OpenCV实现鼠标画框效果
Aug 19 #Python
python opencv鼠标事件实现画框圈定目标获取坐标信息
Apr 18 #Python
python点击鼠标获取坐标(Graphics)
Aug 10 #Python
python matplotlib库直方图绘制详解
Aug 10 #Python
python字典的遍历3种方法详解
Aug 10 #Python
python命名空间(namespace)简单介绍
Aug 10 #Python
简单介绍python封装的基本知识
Aug 10 #Python
You might like
PHP中ob_start函数的使用说明
2013/11/11 PHP
php过滤所有的空白字符(空格、全角空格、换行等)
2015/10/27 PHP
PHP Yaf框架的简单安装使用教程(推荐)
2016/06/08 PHP
Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
2016/12/09 PHP
使用php实现网站验证码功能【推荐】
2017/02/09 PHP
PHP实现找出有序数组中绝对值最小的数算法分析
2017/08/07 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
2020/01/04 PHP
prototype1.4中文手册
2006/09/22 Javascript
jQuery插件jFade实现鼠标经过的图片高亮其它变暗
2015/03/14 Javascript
js简单实现竖向tab选项卡的方法
2015/05/04 Javascript
js表单中选择框值的获取及表单的序列化
2015/12/17 Javascript
jQuery Easyui 验证两次密码输入是否相等
2016/05/13 Javascript
原生js实现对Ajax的封装(仿jquery)
2017/01/22 Javascript
setTimeout时间设置为0详细解析
2018/03/13 Javascript
flask中使用SQLAlchemy进行辅助开发的代码
2013/02/10 Python
关于Python元祖,列表,字典,集合的比较
2017/01/06 Python
一张图带我们入门Python基础教程
2017/02/05 Python
python多进程实现进程间通信实例
2017/11/24 Python
Python爬虫包BeautifulSoup简介与安装(一)
2018/06/17 Python
windows下 兼容Python2和Python3的解决方法
2018/12/05 Python
python 读取竖线分隔符的文本方法
2018/12/20 Python
Python 多维List创建的问题小结
2019/01/18 Python
Python入门Anaconda和Pycharm的安装和配置详解
2019/07/16 Python
pytorch:实现简单的GAN示例(MNIST数据集)
2020/01/10 Python
python清空命令行方式
2020/01/13 Python
Python+Selenium随机生成手机验证码并检查页面上是否弹出重复手机号码提示框
2020/09/21 Python
详解rem 适配布局
2018/10/31 HTML / CSS
面包店的创业计划书范文
2014/01/16 职场文书
细节决定成败演讲稿
2014/05/12 职场文书
社会公德演讲稿
2014/05/20 职场文书
环卫工作汇报材料
2014/10/28 职场文书
英语邀请函范文
2015/02/02 职场文书
2015年团支书工作总结
2015/04/03 职场文书
廉政承诺书范文
2015/04/28 职场文书
签证扫盲贴,41个常见签证知识,需要的拿走
2019/08/09 职场文书
自从在 IDEA 中用了热部署神器 JRebel 之后,开发效率提升了 10(真棒)
2021/06/26 Java/Android