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 相关文章推荐
简单了解什么是神经网络
Dec 23 Python
在python中利用KNN实现对iris进行分类的方法
Dec 11 Python
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
May 13 Python
浅谈python 中类属性共享的问题
Jul 02 Python
django的auth认证,authenticate和装饰器功能详解
Jul 25 Python
如何用Python来搭建一个简单的推荐系统
Aug 07 Python
pytorch numpy list类型之间的相互转换实例
Aug 18 Python
python使用PIL和matplotlib获取图片像素点并合并解析
Sep 10 Python
python 爬取马蜂窝景点翻页文字评论的实现
Jan 20 Python
将数据集制作成VOC数据集格式的实例
Feb 17 Python
python解释器pycharm安装及环境变量配置教程图文详解
Feb 26 Python
OpenCV实现机器人对物体进行移动跟随的方法实例
Nov 09 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判断页面是否是微信打开的示例(微信打开网页)
2014/04/25 PHP
Thinkphp模板中截取字符串函数简介
2014/06/17 PHP
Laravel框架路由配置总结、设置技巧大全
2014/09/03 PHP
PHP处理JSON字符串key缺少双引号的解决方法
2014/09/16 PHP
php利用事务处理转账问题
2015/04/22 PHP
php实现将二维关联数组转换成字符串的方法详解
2017/07/31 PHP
[原创]网络复制内容时常用的正则+editplus
2006/11/30 Javascript
关于eval 与new Function 到底该选哪个?
2013/04/17 Javascript
JS.getTextContent(element,preformatted)使用介绍
2013/09/21 Javascript
document.getElementBy("id")与$("#id")有什么区别
2013/09/22 Javascript
javascript禁用键盘功能键让右击及其他键无效
2013/10/09 Javascript
JS实现遮罩层效果的简单实例
2013/11/12 Javascript
使用jQuery仿苹果官网焦点图特效
2014/12/23 Javascript
jQuery中on()方法用法实例
2015/01/19 Javascript
javascript常用经典算法实例详解
2015/11/25 Javascript
基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标
2016/01/22 Javascript
jquery 判断selection range 是否在容器中的简单实例
2016/08/02 Javascript
探讨AngularJs中ui.route的简单应用
2016/11/16 Javascript
js实现移动端吸顶效果
2020/01/08 Javascript
在Vue中使用Echarts可视化库的完整步骤记录
2020/11/18 Vue.js
[06:53]DOTA2每周TOP10 精彩击杀集锦vol.3
2014/06/25 DOTA
[03:10]超级美酒第四天 fy拉比克秀 大合集
2018/06/05 DOTA
Python基础教程之利用期物处理并发
2018/03/29 Python
python sqlite的Row对象操作示例
2019/09/11 Python
使用Python的turtle模块画国旗
2019/09/24 Python
CSS3中HSL和HSLA的简单使用示例
2015/07/14 HTML / CSS
英国灯具和灯泡网上商店:Lights.co.uk
2018/02/02 全球购物
编程实现当输入某产品代码则打印出该产品记录的功能
2014/05/03 面试题
大学生自荐书范文
2013/12/10 职场文书
简单租房协议书范本
2014/08/20 职场文书
市级绿色学校申报材料
2014/08/25 职场文书
文艺节目主持词
2015/07/06 职场文书
公司人力资源管理制度
2015/08/05 职场文书
会计入职心得体会
2016/01/22 职场文书
nginx网站服务如何配置防盗链(推荐)
2021/03/31 Servers
mysql部分操作
2021/04/05 MySQL