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多线程编程(八):使用Event实现线程间通信
Apr 05 Python
浅谈Pandas中map, applymap and apply的区别
Apr 10 Python
python list转矩阵的实例讲解
Aug 04 Python
在python里从协程返回一个值的示例
Feb 19 Python
Django Sitemap 站点地图的实现方法
Apr 29 Python
PyQt5重写QComboBox的鼠标点击事件方法
Jun 25 Python
django自定义模板标签过程解析
Dec 14 Python
解决tensorflow添加ptb库的问题
Feb 10 Python
OpenCV 表盘指针自动读数的示例代码
Apr 10 Python
python datetime处理时间小结
Apr 16 Python
新建文件时Pycharm中自动设置头部模板信息的方法
Apr 17 Python
python如何使用代码运行助手
Jul 03 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
基于mysql的论坛(3)
2006/10/09 PHP
让codeigniter与swfupload整合的最佳解决方案
2014/06/12 PHP
wordpress安装过程中遇到中文乱码的处理方法
2015/04/21 PHP
PHP+MYSQL实现读写分离简单实战
2017/03/13 PHP
Laravel 加载第三方类库的方法
2018/04/20 PHP
PHP示例演示发送邮件给某个邮箱
2019/04/03 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
2020/02/27 PHP
Opacity.js
2007/01/22 Javascript
ext 列表页面关于多行查询的办法
2010/03/25 Javascript
jquery随机展示头像代码
2011/12/21 Javascript
基于JavaScript实现 获取鼠标点击位置坐标的方法
2013/04/12 Javascript
firefox浏览器不支持innerText的解决方法
2013/08/07 Javascript
javascript:json数据的页面绑定示例代码
2014/01/26 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
2015/10/31 Javascript
原生js编写autoComplete插件
2016/04/13 Javascript
详解VueJs前后端分离跨域问题
2017/05/24 Javascript
nodejs基于mssql模块连接sqlserver数据库的简单封装操作示例
2018/01/05 NodeJs
小程序分页实践之编写可复用分页组件
2019/07/18 Javascript
Vue是怎么渲染template内的标签内容的
2020/06/05 Javascript
Vue + ts实现轮播插件的示例
2020/11/10 Javascript
Python实现一个简单的验证码程序
2017/11/03 Python
Ubuntu下使用python读取doc和docx文档的内容方法
2018/05/08 Python
TensorFlow实现Logistic回归
2018/09/07 Python
python时间序列按频率生成日期的方法
2019/05/14 Python
如何使用Python自动控制windows桌面
2019/07/11 Python
Python 实现顺序高斯消元法示例
2019/12/09 Python
美国流行背包品牌:JanSport(杰斯伯)
2018/03/02 全球购物
法国在线购买汽车轮胎网站:123pneus.fr
2019/02/25 全球购物
Oracle里面常用的数据字典有哪些
2014/02/14 面试题
长安大学毕业生自我鉴定
2014/01/17 职场文书
高中生期末评语
2014/01/28 职场文书
元旦趣味活动方案
2014/08/22 职场文书
2015新年联欢晚会开场白
2014/12/14 职场文书
太空授课观后感
2015/06/17 职场文书
小学班主任教育随笔
2015/08/15 职场文书
MySQL数据库表约束讲解
2022/06/21 MySQL