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生成随机验证码的两种方法
Dec 22 Python
浅谈python抛出异常、自定义异常, 传递异常
Jun 20 Python
对Python中type打开文件的方式介绍
Apr 28 Python
详解如何在Apache中运行Python WSGI应用
Jan 02 Python
python 实现敏感词过滤的方法
Jan 21 Python
Pandas统计重复的列里面的值方法
Jan 30 Python
Django如何防止定时任务并发浅析
May 14 Python
python单线程下实现多个socket并发过程详解
Jul 27 Python
Python 多线程,threading模块,创建子线程的两种方式示例
Sep 29 Python
Matplotlib 折线图plot()所有用法详解
Jul 28 Python
Django如何批量创建Model
Sep 01 Python
Kmeans均值聚类算法原理以及Python如何实现
Sep 26 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面向对象 字段的声明与使用
2012/06/14 PHP
深入PHP异步执行的详解
2013/06/03 PHP
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
2013/06/25 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
2014/05/06 PHP
wordpress安装过程中遇到中文乱码的处理方法
2015/04/21 PHP
浅析PHP中Session可能会引起并发问题
2015/07/23 PHP
php正则表达式基本知识与应用详解【经典教程】
2017/04/17 PHP
PHP中常用的魔术方法
2017/04/28 PHP
基于jQuery的360图片展示实现代码
2012/06/14 Javascript
js读取被点击次数的简单实例(从数据库中读取)
2014/03/07 Javascript
MVVM模式中ViewModel和View、Model有什么区别?
2015/06/19 Javascript
详细解读AngularJS中的表单验证编程
2015/06/19 Javascript
学习JavaScript设计模式之中介者模式
2016/01/14 Javascript
javascript自定义滚动条实现代码
2020/04/20 Javascript
js HTML5上传示例代码完整版
2016/10/10 Javascript
Javascript获取background属性中url的值
2016/10/17 Javascript
使用JS获取页面上的所有标签
2018/10/18 Javascript
浅谈Webpack多页应用HMR卡住问题
2019/04/24 Javascript
Promise扫盲贴
2019/06/24 Javascript
Vue项目中如何使用Axios封装http请求详解
2019/10/23 Javascript
解决vue项目router切换太慢问题
2020/07/19 Javascript
python实现对excel进行数据剔除操作实例
2017/12/07 Python
在python tkinter中Canvas实现进度条显示的方法
2019/06/14 Python
Python3将ipa包中的文件按大小排序
2020/04/17 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
一款纯css3实现的动画加载导航
2014/10/08 HTML / CSS
将"引用"作为函数参数有哪些特点
2013/04/05 面试题
如何查询Oracle数据库中已经创建的索引
2013/10/11 面试题
年终自我鉴定
2013/10/09 职场文书
家长给老师的道歉信
2014/01/13 职场文书
党员评议表自我评价范文
2014/10/20 职场文书
重阳节座谈会主持词
2015/07/03 职场文书
消防安全主题班会
2015/08/12 职场文书
《风筝》教学反思
2016/02/23 职场文书
Java使用jmeter进行压力测试
2021/07/09 Java/Android
vue组件vue-esign实现电子签名
2022/04/21 Vue.js