频率直方图

直方图中最大的矩形

霸气de小男生 提交于 2020-02-29 01:32:42
题目: 直方图是由在公共基线处对齐的一系列矩形组成的多边形。 矩形具有相等的宽度,但可以具有不同的高度 链接 。 图不知道怎么弄 例如,图例左侧显示了由高度为2,1,4,5,1,3,3的矩形组成的直方图,矩形的宽度都为1: 通常,直方图用于表示离散分布,例如,文本中字符的频率。 现在,请你计算在公共基线处对齐的直方图中最大矩形的面积。 图例右图显示了所描绘直方图的最大对齐矩形。 输入格式 输入包含几个测试用例。 每个测试用例占据一行,用以描述一个直方图,并以整数n开始,表示组成直方图的矩形数目。 然后跟随n个整数h1,…,hn。 这些数字以从左到右的顺序表示直方图的各个矩形的高度。 每个矩形的宽度为1。 同行数字用空格隔开。 当输入用例为n=0时,结束输入,且该用例不用考虑。 输出格式 对于每一个测试用例,输出一个整数,代表指定直方图中最大矩形的区域面积。 每个数据占一行。 请注意,此矩形必须在公共基线处对齐。 数据范围 1≤n≤100000, 0≤hi≤1000000000 输入: 7 2 1 4 5 1 3 3 4 1000 1000 1000 1000 0 输出: 8 4000 分析,可取一个长方形条,然后该长方形条的左右两边高度大于等于它的即可把该矩形面积扩大,故转换为求该长方形条左右两边第一个比它小的长方形条位置;即为单调栈;这里运用两个单调栈,有很多写法,我的写法如下:

matplotlib--hist直方图

自古美人都是妖i 提交于 2020-02-23 03:41:25
matplotlib . pyplot . hist ( x , bins = None , density = None , alpha , histtype = 'bar' , color = None ) hist的常用参数介绍 x:输入数据,直方图对数据x分区间统计 bins:统计的区间分布,形如 [0,2,4,6],则统计x在区间[0,2]、[2,4]、[4,6]的频数 density:bool型,默认为false,即显示频数,true显示频率,注意频率的计算方法是 该 区 间 频 数 样 本 总 数 ⋅ 区 间 宽 度 \frac{该区间频数}{样本总数\cdot 区间宽度} 样 本 总 数 ⋅ 区 间 宽 度 该 区 间 频 数 ​ histtype: 直方图形状,可选{‘bar’, ‘barstacked’, ‘step’, ‘stepfilled’}之一,默认为bar alpha:透明度,0表示完全透明 Example import numpy as np import matplotlib . pyplot as plt lim = 4 width = 0.4 x = np . random . normal ( 0 , 1 , 10000 ) # 生成均值为0,方差为1的正太分布点10000个 bins = np . arange ( - lim , lim

单调栈

我的未来我决定 提交于 2020-01-31 04:50:51
单调栈 一个单调递增(递减)的栈。在题目应用中主要是对栈的 维护 ,通过判断和出入栈操作对栈进行维护,使之保持单调的状态。 维护 判断栈顶元素与数组元素的大小,如果 栈顶元素 < 数组元素 使栈顶元素出栈,如果 栈顶元素 > 数组元素 使数组元素入栈。 一个单调递减栈的例子: 进栈元素分别为3,4,2,6,4,5,2,3 3进栈:(3) 3出栈,4进栈:(4) 2进栈:(4,2) 2出栈,4出栈,6进栈:(6) 4进栈:(6,4) 4出栈,5进栈:(6,5) 2进栈:(6,5,2) 2出栈,3进栈:(6,5,3) 直方图是由在公共基线处对齐的一系列矩形组成的多边形。 矩形具有相等的宽度,但可以具有不同的高度。 例如,图例左侧显示了由高度为2,1,4,5,1,3,3的矩形组成的直方图,矩形的宽度都为1: 题目——直方图中的最大矩形 通常,直方图用于表示离散分布,例如,文本中字符的频率。 现在,请你计算在公共基线处对齐的直方图中最大矩形的面积。 图例右图显示了所描绘直方图的最大对齐矩形。 输入格式 输入包含几个测试用例。 每个测试用例占据一行,用以描述一个直方图,并以整数n开始,表示组成直方图的矩形数目。 然后跟随n个整数h1,…,hn。 这些数字以从左到右的顺序表示直方图的各个矩形的高度。 每个矩形的宽度为1。 同行数字用空格隔开。 当输入用例为n=0时,结束输入,且该用例不用考虑。

Matplotlib学习(5)--直方图

倾然丶 夕夏残阳落幕 提交于 2020-01-25 13:50:28
四 直方图 由一系列高度不等的纵向条形组成 (1)1D直方图 import numpy as np import matplotlib . pyplot as plt mu = 100 sigma = 20 x = mu + sigma * np . random . randn ( 20000 ) # density=True表示出现的频率大小 plt . hist ( x , bins = 100 , color = 'b' , density = True ) 程序运行结果如下图 (2)2D直方图 import numpy as np import matplotlib . pyplot as plt x = np . random . randn ( 1000 ) + 2 y = np . random . randn ( 1000 ) + 3 plt . hist2d ( x , y , bins = 40 ) 程序运行结果如下图示意 来源: CSDN 作者: bingxiash 链接: https://blog.csdn.net/u014168855/article/details/104070637

MATLAB中绘制数据直方图的新函数histogram

匿名 (未验证) 提交于 2019-12-02 23:38:02
转自: http://blog.sciencenet.cn/blog-292361-1054195.html MATLAB中有命令hist()可以绘制直方图,纵坐标是频数,这与一些教科书中用纵轴表示频率的做法不一致,有些时候不便于使用。当然,使用者可以自己编写定制能够在纵轴绘出频率的直方图。在MATLAB中,增加了具有复杂功能的绘制数据直方图的新函数histogram(). 在MATLAB2015b测试环境下,MATLAB代码和图形如下: 一、绘制数据直方图的新函数histogram() 1、>> X = randn(1000,1); nbins = 25; h = histogram(x,nbins)%与hist相同 2、两个直方图叠加 >> x = randn(2000,1);y = 1 + randn(5000,1);h1 = histogram(x);hold on;h2 = histogram(y); 3、如果想显示频率,注意下图纵坐标 4、一个密度拟合例子 histogram(x,'Normalization','pdf') hold on y = -5:0.1:15;mu = 5;sigma = 2; f = exp(-(y-mu).^2./(2*sigma^2))./(sigma*sqrt(2*pi)); plot(y,f,'LineWidth',1.5) 文章来源

忘掉平均数、看看直方图:专业化起步

喜你入骨 提交于 2019-11-27 05:02:27
如何证明自己的专业性?特别是对于我们初入HR数据分析的宝宝们,这种凹造型的装逼还是有的! #我们为什么要看平均数 平均数可能是我们接触得最早的一个统计量了,小学生都知道如何算平均数。可是大家还记得我们看平均数是为了看什么吗? 想不起来的小伙伴不要慌张,我们一起来复习一下:平均数是数据的 集中趋势 的一种度量方法,用来表明资料中各观测值 相对集中较多 的中心位置。 此处画重点了,相对集中较多,我们平时计算平均数的公式真的能代表相对集中较多的位置吗?显然不能。平均收入就是一个很好的例子。 2018年我国人均国民总收入达到9732美元,高于中等收入国家平均水平,计算发现,这约合人均年收入近67000元人民币,相当于月入5600元左右。拖后腿了?被平均了?别着急下结论,首先人均国民总收入和人均可支配收入不是一个概念,其次,收入这种问题单看平均数一个指标是不够全面的。 为了解释这个问题,我们需要了解一个概念——频率分布。 #正态分布?那是啥玩意 我们先看一下频率分布的概念: 频率分布,是指在统计分组的基础上,将总体中各单位按组归类整理,按一定顺序排列,形成的总体中各单位在各组间的分布。其实质是,在各组按顺序排列的基础上,列出每个组的总体单位数,形成一个数列,称次数分布数列,简称分配数列,各组的总体单位数叫次数或频数。一般用次数分布表和次数分布图来表示。 ——百度百科 官方的概念定义固然严谨