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文件右键找不到IDLE打开项解决办法
Jun 08 Python
python 2.7.13 安装配置方法图文教程
Sep 18 Python
Python使用random.shuffle()打乱列表顺序的方法
Nov 08 Python
Python面向对象基础入门之设置对象属性
Dec 11 Python
Python2 Selenium元素定位的实现(8种)
Feb 25 Python
python elasticsearch从创建索引到写入数据的全过程
Aug 04 Python
Python使用itchat模块实现群聊转发,自动回复功能示例
Aug 26 Python
基于Django signals 信号作用及用法详解
Mar 28 Python
利用Python中的Xpath实现一个在线汇率转换器
Sep 09 Python
Python Selenium XPath根据文本内容查找元素的方法
Dec 07 Python
Django drf请求模块源码解析
Jun 08 Python
python使用matplotlib绘制图片时x轴的刻度处理
Aug 30 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
DOTA2 无惧惊涛骇浪 昆卡大型水友攻略
2020/04/20 DOTA
php set_magic_quotes_runtime() 函数过时解决方法
2010/07/08 PHP
第二章 PHP入门基础之php代码写法
2011/12/30 PHP
php实现执行某一操作时弹出确认、取消对话框
2013/12/30 PHP
分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html
2015/12/09 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
2016/05/16 PHP
PHP中explode函数和split函数的区别小结
2016/08/24 PHP
PHP简单判断iPhone、iPad、Android及PC设备的方法
2016/10/11 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
2017/05/05 PHP
基于PHP实现栈数据结构和括号匹配算法示例
2017/08/10 PHP
php array_chunk()函数用法与注意事项
2019/07/12 PHP
JavaScript Undefined,Null类型和NaN值区别
2008/10/22 Javascript
鼠标滚轮控制网页横向移动实现思路
2013/03/22 Javascript
window.location 对象所包含的属性
2014/10/10 Javascript
js使用DOM操作实现简单留言板的方法
2015/04/10 Javascript
jquery实现漂亮的二级下拉菜单代码
2015/08/26 Javascript
详解nodejs与javascript中的aes加密
2016/05/22 NodeJs
jQuery实现判断控件是否显示的方法
2017/01/11 Javascript
JavaScript字符串对象
2017/01/14 Javascript
javascript 中事件冒泡和事件捕获机制的详解
2017/09/01 Javascript
Vue渲染函数详解
2017/09/15 Javascript
AngularJS中下拉框的基本用法示例
2017/10/11 Javascript
Angular4学习笔记router的简单使用
2018/03/30 Javascript
微信小程序缓存支持二次开发封装实现解析
2019/12/16 Javascript
es6函数之箭头函数用法实例详解
2020/04/25 Javascript
Vue之封装公用变量以及实现方式
2020/07/31 Javascript
vue自定义组件(通过Vue.use()来使用)即install的用法说明
2020/08/11 Javascript
Nodejs 微信小程序消息推送的实现
2021/01/20 NodeJs
[41:37]DOTA2北京网鱼队选拔赛——冲击职业之路
2015/04/13 DOTA
numpy.random.seed()的使用实例解析
2018/02/03 Python
贝嫂喜欢的婴儿品牌,个性化的婴儿礼物:My 1st Years
2017/11/19 全球购物
在线购买廉价折扣书籍和小说:BookOutlet.com
2018/02/19 全球购物
英国Flybe航空官网:欧洲最大的独立支线廉价航空公司
2019/07/15 全球购物
外贸销售员求职的自我评价
2013/11/23 职场文书
2014年国庆晚会主持词
2014/09/19 职场文书
消防宣传语大全
2015/07/13 职场文书