matplotlib学习记录 七
- # 绘制直方图
- # 假设你获取了250部电影的时长(列表a中),希望统计出这些电影时长的分布状态(比如时长为100分钟到
- # 120分钟电影的数量,出现的频率)等信息,你应该如何呈现这些数据?
- from matplotlib import pyplot as plt
- a = [131,98,125,131,124,139,131,117,128,108,135,138,131,102,107,114,119,128,121,142,
- 127,130,124,101,110,116,117,110,128,128,115,99,136,126,134,95,138,117,111,78,
- 132,124,113,150,110,117,86,95,144,105,126,130,126,130,126,116,123,106,112,138,
- 123,86,101,99,136,123,117,119,105,137,123,128,125,104,109,134,125,127,105,120,
- 107,129,116,108,132,103,136,118,102,120,114,105,115,132,145,119,121,112,139,125,
- 138,109,132,134,156,106,117,127,144,139,139,119,140,83,110,102,123,107,143,115,
- 136,118,139,123,112,118,125,109,119,133,112,114,122,109,106,123,116,131,127,115,
- 118,112,135,115,146,137,116,103,144,83,123,111,110,111,100,154,136,100,118,119,
- 133,134,106,129,126,110,111,109,141,120,117,106,149,122,122,110,118,127,121,114,
- 125,126,114,140,103,130,141,117,106,114,121,114,133,137,92,121,112,146,97,137,
- 105,98,117,112,81,97,139,113,134,106,144,110,137,137,111,104,117,100,111,101,
- 110,105,129,137,112,120,113,133,112,83,94,146,133,101,131,116,111,84,137,115,
- 122,106,144,109,123,116,111,111,133,150]
- # 计算组数 组数=极差/组距
- d = 3 # 组距
- num_bins = (max(a)-min(a))//d # 双斜线是商向下取整,也可以用int强行取整
- # 绘制直方图,传入数据列表和组数
- # 这是频数直方图
- plt.hist(a,num_bins)
- # 这是频率直方图
- # plt.hist(a,num_bins,normed=True)
- # 自定义x轴
- plt.xticks(range(min(a),max(a)+d,d))
- # 显示辅助线,设置透明度
- plt.grid(alpha=0.5)
- # plt.savefig("8.png")
- plt.show()
- # 在美国2004年人口普查发现有124milion的人在离家相对较远的地方工作。
- # 根据他们从家到上班地点所需要的时间,通过抽样统计(最后一列)出了下表的数据,
- # 这些数据能够绘制成直方图么?
- # 需要注意的是一下数据已经经过统计了,所以绘制不了直方图,直方图只能绘制没有经过处理的原始数据
- # 但是我们可以用绘制条形图的方法把图展示成直方图
- from matplotlib import pyplot as plt
- interval = [0,5,10,15,20,25,30,35,40,45,60,90] # 距离
- width = [5,5,5,5,5,5,5,5,5,15,30,60] # 组距,可看出是变化的
- quantity = [836,2737,3723,3926,3596,1438,3273,642,824,613,215,47] # 人数
- # 绘制条形图,为了取消各条之间的空隙,设定宽度为1就行
- plt.bar(range(len(quantity)),quantity,width=1)
- # 设置X轴刻度
- # 因为条形图的刻度默认在各数据条的中间,又因为我们设定了数据条宽度为1,所以需要把刻度向左偏移0.5
- # 如果是这样的话,最后一个刻度条的末尾没有数据
- # x = [i-0.5 for i in range(len(quantity))]
- # 进行修改,实际上是增加了一个刻度,但是这个刻度没有数据
- x = [i-0.5 for i in range(len(quantity)+1)]
- # 增加最后一个刻度的真实刻度值,150的来源是现有的真实刻度是90,然后它的宽度为60,所以加起来为150
- x_ticks = interval+[150]
- # 两个刻度一一对应起来
- plt.xticks(x,x_ticks)
- plt.grid(alpha=0.5)
- plt.show()
matplotlib学习记录 七的更多相关文章
- Spring学习记录(七)---表达式语言-SpEL
SpEL---Spring Expression Language:是一个支持运行时查询和操作对象图表达式语言.使用#{...}作为定界符,为bean属性动态赋值提供了便利. ①对于普通的赋值,用Sp ...
- leveldb 学习记录(七) SSTable构造
使用TableBuilder构造一个Table struct TableBuilder::Rep { // TableBuilder内部使用的结构,记录当前的一些状态等 Options options ...
- matplotlib学习记录 六
# 绘制多数据条形图 # 假设你知道了列表a中电影分别在2017-09-14(b_14),2017-09-15(b_15), # 2017-09-16(b_16)三天的票房,为了展示列表中电影本身的票 ...
- matplotlib学习记录 五
# 绘制电影票房竖条形图 from matplotlib import pyplot as plt a = ["战狼2","速度与激情8","功夫瑜伽 ...
- matplotlib学习记录 四
# 绘制3月每天最高温和10月每天最高温散点图 from matplotlib import pyplot as plt # 让matplotlib能够显示中文 plt.rcParams['font. ...
- matplotlib学习记录 三
# 绘制自己和朋友在各个年龄的女友数量的折线图 from matplotlib import pyplot as plt # 让matplotlib能够显示中文 plt.rcParams['font. ...
- matplotlib学习记录 二
# 绘制10点到12点的每一分钟气温变化折线图 import random from matplotlib import pyplot as plt # 让matplotlib能够显示中文 plt.r ...
- matplotlib学习记录 一
from matplotlib import pyplot as plt # 先实例一个图片,传入图片参数,10宽,5高,分辨率为80 image = plt.figure(figsize=(10,5 ...
- zeromq学习记录(七)订阅发布消息封装
之前也有提到 使用订阅发布 pub sub模式必须要显示定义ZMQ_SUBSCRIBE 只有以此模式定义的过滤字节开头的消息才会被订阅者收到 如果想收到所有信息 可定义subscriber.setso ...
随机推荐
- 2017"百度之星"程序设计大赛 - 初赛(A)小C的倍数问题
Problem Description 根据小学数学的知识,我们知道一个正整数x是3的倍数的条件是x每一位加起来的和是3的倍数.反之,如果一个数每一位加起来是3的倍数,则这个数肯定是3的倍数. 现在给 ...
- ASP.NET Core性能测试
ASP.NET Core性能测试 应用性能直接影响到托管服务的成本,因此公司在开发应用时需要格外注意应用所使用的Web框架,初创公司尤其如此.此外,糟糕的应用性能也会影响到用户体验,甚至会因此受到相关 ...
- react-dnd
http://react-trello-board.web-pal.com/ https://react-dnd.github.io/react-dnd/docs-tutorial.html http ...
- spring之控制反转
IOC (Inversion of Control) 控制反转 我的理解:将创建对象的控制权从代码本身转交给了外部容器(spring容器). 1.将组件对象(业务对象)的控制权从代码本身转移到外部容器 ...
- 序列化流与反序列化流,打印流,工具类commons-IO
1序列化流与反序列化流 用于从流中读取对象的操作流 ObjectInputStream 称为 反序列化流 用于向流中写入对象的操作流 ObjectOutputStream 称为 序列化流 特 ...
- 1126 数字统计 2010年NOIP全国联赛普及组
1126 数字统计 2010年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题目描述 Description 请统计某个 ...
- 告别CMD.windows终端神器conemu设置
前言 一种刘姥姥进大观园的感觉,现在是见啥啥新鲜.因为之前不怎么接触到命令操作,平时偶尔用用cmd也没觉得什么不妥.直到现在经常调试脚本,使用git越发感觉不方便.看见同事使用的terminal绚丽夺 ...
- 编写SQL语句操作数据库(慕课SQLite笔记)
安卓常用数据存储方式之一SQLite学习及操作笔记 0.视频地址:http://www.imooc.com/video/3382 1.每个程序都有自己的数据库 默认情况下是各自互不干扰 1)创建一个数 ...
- Viewcontroller基类
#import <UIKit/UIKit.h> #import "YQZMutableArray.h" @interface YQZViewController : U ...
- 对Yii 2.0模型rules的理解(load()无法正确装载数据)
在实际开发中,遇到数据表新增字段而忘记了在对应模型中rules规则中添加新增的字段,而导致load()方法装载不到新增字段,导致新增字段无法写入数据库中. 解决办法:在新增字段后及时在对应模型ru ...