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 错误和异常小结
Oct 09 Python
研究Python的ORM框架中的SQLAlchemy库的映射关系
Apr 25 Python
Django查询数据库的性能优化示例代码
Sep 24 Python
Python中pygal绘制雷达图代码分享
Dec 07 Python
Django中cookie的基本使用方法示例
Feb 03 Python
Python常见内置高效率函数用法示例
Jul 31 Python
Python如何处理大数据?3个技巧效率提升攻略(推荐)
Apr 15 Python
Python Pandas数据结构简单介绍
Jul 03 Python
在Django下测试与调试REST API的方法详解
Aug 29 Python
keras K.function获取某层的输出操作
Jun 29 Python
浅谈优化Django ORM中的性能问题
Jul 09 Python
Python中Numpy和Matplotlib的基本使用指南
Nov 02 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实现字符串反转输出的方法
2015/03/14 PHP
php使用for语句输出三角形的方法
2015/06/09 PHP
php+mysql实现无限级分类
2015/11/11 PHP
如何用javascript去掉字符串里的所有空格
2007/02/08 Javascript
js继承 Base类的源码解析
2008/12/30 Javascript
菜鸟javascript基础资料整理2
2010/12/06 Javascript
JavaScript可否多线程? 深入理解JavaScript定时机制
2012/05/23 Javascript
js隐藏与显示回到顶部按钮及window.onscroll事件应用
2013/01/25 Javascript
jQuery实现id模糊查询的小例子
2013/03/19 Javascript
jQuery插件开发的两种方法及$.fn.extend的详解
2014/01/16 Javascript
JavaScript中实现异步编程模式的4种方法
2014/09/24 Javascript
JS实现的不规则TAB选项卡效果代码
2015/09/18 Javascript
jQuery页面刷新(局部、全部)问题分析
2016/01/09 Javascript
使用jQuery给input标签设置默认值
2016/06/20 Javascript
jquery css实现邮箱自动补全
2016/11/14 Javascript
详解Vue SPA项目优化小记
2018/07/03 Javascript
使用electron将vue-cli项目打包成exe的方法
2018/09/29 Javascript
微信小程序常用简易小函数总结
2019/02/01 Javascript
详解React项目中碰到的IE问题
2019/03/14 Javascript
JavaScript实现联动菜单特效
2020/01/07 Javascript
12 种使用Vue 的最佳做法
2020/03/30 Javascript
处理JavaScript值为undefined的7个小技巧
2020/07/28 Javascript
JavaScript事件循环及宏任务微任务原理解析
2020/09/02 Javascript
[01:10]3.19DOTA2发布会 三代刀塔人第一代
2014/03/25 DOTA
Python中的一些陷阱与技巧小结
2015/07/10 Python
使用python生成目录树
2018/03/29 Python
Python产生Gnuplot绘图数据的方法
2018/11/09 Python
CSS3自定义滚动条样式的示例代码
2017/08/21 HTML / CSS
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
创业计划书中包含的9个方面
2013/12/26 职场文书
学校教学工作总结2015
2015/05/19 职场文书
中小学教师继续教育心得体会
2016/01/19 职场文书
创业方案:赚钱的烧烤店该怎样做?
2019/07/05 职场文书
导游词之昭君岛
2020/01/17 职场文书
nginx对http请求处理的各个阶段详析
2021/03/31 Servers
Python中re模块的元字符使用小结
2022/04/07 Python