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 域名分析工具实现代码
Jul 15 Python
python 简易计算器程序,代码就几行
Aug 29 Python
Python中的ConfigParser模块使用详解
May 04 Python
django 2.0更新的10条注意事项总结
Jan 05 Python
Python脚本完成post接口测试的实例
Dec 17 Python
Python实战购物车项目的实现参考
Feb 20 Python
django rest framework 实现用户登录认证详解
Jul 29 Python
python绘制彩虹图
Dec 16 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
Feb 18 Python
python GUI库图形界面开发之PyQt5窗口布局控件QStackedWidget详细使用方法
Feb 27 Python
Django怎么在admin后台注册数据库表
Nov 14 Python
详解BeautifulSoup获取特定标签下内容的方法
Dec 07 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的array_diff()函数在处理大数组时的效率问题
2011/11/27 PHP
php生成略缩图代码
2012/07/16 PHP
php gzip压缩输出的实现方法
2013/04/27 PHP
PHP获取毫秒级时间戳的方法
2015/04/15 PHP
使用Yii2实现主从数据库设置
2016/11/20 PHP
原生JS实现Ajax通过GET方式与PHP进行交互操作示例
2018/05/12 PHP
JavaScript constructor和instanceof,JSOO中的一对欢喜冤家
2009/05/25 Javascript
js动态创建表格,删除行列的小例子
2013/07/20 Javascript
JS中如何设置readOnly的值
2013/12/25 Javascript
JS如何将数字类型转化为没3个一个逗号的金钱格式
2014/01/27 Javascript
node.js中的url.resolve方法使用说明
2014/12/10 Javascript
js淡入淡出焦点图幻灯片效果代码分享
2015/09/08 Javascript
jQuery EasyUI datagrid在翻页以后仍能记录被选中行的实现代码
2016/08/15 Javascript
vue脚手架vue-cli的学习使用教程
2017/06/06 Javascript
最全的JavaScript开发工具列表 总有一款适合你
2017/06/29 Javascript
ES6顶层对象、global对象实例分析
2019/06/14 Javascript
基于webpack4+vue-cli3项目实现换肤功能
2019/07/17 Javascript
layui 实现表单和文件上传一起传到后台的例子
2019/09/16 Javascript
JS原型和原型链原理与用法实例详解
2020/02/05 Javascript
js实现带有动画的返回顶部
2020/08/09 Javascript
js动态添加带圆圈序号列表的实例代码
2021/02/18 Javascript
在Python的web框架中编写创建日志的程序的教程
2015/04/30 Python
Python常见数据结构之栈与队列用法示例
2019/01/14 Python
python实现websocket的客户端压力测试
2019/06/25 Python
Django forms表单 select下拉框的传值实例
2019/07/19 Python
解决pycharm上的jupyter notebook端口被占用问题
2019/12/17 Python
Python和Sublime整合过程图示
2019/12/25 Python
Python Tornado实现WEB服务器Socket服务器共存并实现交互的方法
2020/05/26 Python
Python+Selenium实现自动化的环境搭建的步骤(图文)
2020/09/01 Python
Pycharm添加虚拟解释器报错问题解决方案
2020/10/13 Python
应届中专生自荐书范文
2014/02/13 职场文书
财务工作疏忽检讨书
2014/09/11 职场文书
党员个人对照检查材料
2014/10/01 职场文书
2015年世界粮食日演讲稿
2015/03/20 职场文书
运动员加油词
2015/07/18 职场文书
承诺书的签字人,需不需要承担相应的责任?
2019/07/09 职场文书