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 使用os.remove删除文件夹时报错的解决方法
Jan 13 Python
Python 多线程实例详解
Mar 25 Python
新手如何快速入门Python(菜鸟必看篇)
Jun 10 Python
Django中Forms的使用代码解析
Feb 10 Python
python绘制多个曲线的折线图
Mar 23 Python
python接口调用已训练好的caffe模型测试分类方法
Aug 26 Python
使用OpCode绕过Python沙箱的方法详解
Sep 03 Python
详解Python在使用JSON时需要注意的编码问题
Dec 06 Python
Python实现将蓝底照片转化为白底照片功能完整实例
Dec 13 Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
Feb 28 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
Dec 14 Python
python中count函数知识点浅析
Dec 17 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使用ICQ网关发送手机短信
2013/10/30 PHP
PHP解决URL中文GBK乱码问题的两种方法
2014/06/03 PHP
Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例
2017/07/07 PHP
mac pecl 安装php7.1扩展教程
2019/10/17 PHP
js模仿windows桌面图标排列算法具体实现(附图)
2013/06/16 Javascript
uploadify在Firefox下丢失session问题的解决方法
2013/08/07 Javascript
在JavaScript的正则表达式中使用exec()方法
2015/06/16 Javascript
Jquery幻灯片特效代码分享--打开页面随机选择切换方式(3)
2015/08/15 Javascript
使用Angular缓存父页面数据的方法
2017/01/03 Javascript
微信小程序实战之上拉(分页加载)效果(2)
2017/04/17 Javascript
基于react框架使用的一些细节要点的思考
2017/05/31 Javascript
angular中的cookie读写方法
2017/08/02 Javascript
详解如何在微信小程序开发中正确的使用vant ui组件
2018/09/13 Javascript
vue实现倒计时获取验证码效果
2020/04/17 Javascript
js实现微信聊天界面
2020/08/09 Javascript
[01:38]DOTA2 2015国际邀请赛中国区预选赛 Showopen
2015/06/01 DOTA
[03:10]超级美酒第四天 fy拉比克秀 大合集
2018/06/05 DOTA
Python ZipFile模块详解
2013/11/01 Python
Python中的CURL PycURL使用例子
2014/06/01 Python
python函数中return后的语句一定不会执行吗?
2017/07/06 Python
python安装模块如何通过setup.py安装(超简单)
2018/05/05 Python
python3解析库BeautifulSoup4的安装配置与基本用法
2018/06/26 Python
python实现简单多人聊天室
2018/12/11 Python
对Python3 序列解包详解
2019/02/16 Python
pytorch进行上采样的种类实例
2020/02/18 Python
pyinstaller打包成无控制台程序时运行出错(与popen冲突的解决方法)
2020/04/15 Python
python 利用jieba.analyse进行 关键词提取
2020/12/17 Python
英国珠宝网站Argento: PANDORA、Olivia Burton和Nomination等
2020/05/08 全球购物
数控技术与应用毕业生自荐信
2013/09/24 职场文书
个人优缺点自我评价
2014/01/27 职场文书
生物制药专业自我鉴定
2014/02/19 职场文书
关于学习的演讲稿
2014/05/10 职场文书
技术股份合作协议书
2014/10/05 职场文书
阿甘正传观后感
2015/06/01 职场文书
先进个人主要事迹怎么写
2015/11/04 职场文书
Pygame游戏开发之太空射击实战敌人精灵篇
2022/08/05 Python