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 遍历字典时删除元素报异常的问题
Sep 11 Python
numpy自动生成数组详解
Dec 15 Python
简单谈谈Python的pycurl模块
Apr 07 Python
Python实现的redis分布式锁功能示例
May 29 Python
利用python提取wav文件的mfcc方法
Jan 09 Python
Python实现平行坐标图的两种方法小结
Jul 04 Python
Python模块汇总(常用第三方库)
Oct 07 Python
Python 实现自动获取种子磁力链接方式
Jan 16 Python
解决Pycharm中恢复被exclude的项目问题(pycharm source root)
Feb 14 Python
python异常处理之try finally不报错的原因
May 18 Python
Python内置函数及功能简介汇总
Oct 13 Python
python3列表删除大量重复元素remove()方法的问题详解
Jan 04 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&mysql(四)
2006/10/09 PHP
PHP 第二节 数据类型之转换
2012/04/28 PHP
php读取flash文件高宽帧数背景颜色的方法
2015/01/06 PHP
php中动态调用函数的方法
2015/03/16 PHP
js通过googleAIP翻译PHP系统的语言配置的实现代码
2011/10/17 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(二)人物行走的实现
2013/01/23 Javascript
用JavaScript修改CSS属性的代码
2013/05/06 Javascript
jQuery JSON实现无刷新三级联动实例探讨
2013/05/28 Javascript
javascript实现汉字转拼音代码分享
2015/04/20 Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
2016/05/10 Javascript
JavaScript中this的四个绑定规则总结
2016/09/26 Javascript
JS实现动态增加和删除li标签行的实例代码
2016/10/16 Javascript
Javascript+CSS3实现进度条效果
2016/10/28 Javascript
详解webpack多页面配置记录
2018/01/22 Javascript
koa-router路由参数和前端路由的结合详解
2019/05/19 Javascript
JavaScript代码异常监控实现过程详解
2020/02/17 Javascript
javascript实现前端input密码输入强度验证
2020/06/24 Javascript
解决Antd 里面的select 选择框联动触发的问题
2020/10/24 Javascript
element 动态合并表格的步骤
2020/12/31 Javascript
[15:23]教你分分钟做大人:虚空假面
2014/10/30 DOTA
python实现从字典中删除元素的方法
2015/05/04 Python
Python实现的RSS阅读器实例
2015/07/25 Python
Python批量修改文本文件内容的方法
2016/04/29 Python
Python中用post、get方式提交数据的方法示例
2017/09/22 Python
tensorflow训练中出现nan问题的解决
2018/02/10 Python
Django自定义用户认证示例详解
2018/03/14 Python
Kears+Opencv实现简单人脸识别
2019/08/28 Python
使用Python实现分别输出每个数组
2019/12/06 Python
移动端HTML5实现文件上传功能【附代码】
2016/03/25 HTML / CSS
Mytheresa中国官网:德国时尚奢侈品商城
2017/08/04 全球购物
墨西哥网上超市:Superama
2018/07/10 全球购物
工程力学专业毕业生求职信
2013/10/06 职场文书
综合内勤岗位职责
2014/04/14 职场文书
我爱幼儿园演讲稿
2014/09/11 职场文书
挂职个人工作总结
2015/03/05 职场文书
2015年依法治校工作总结
2015/07/27 职场文书