-
matlab 频率分布直方图_小猿圈Python开发之绘制频率分布直方图示例
2020-11-27 06:39:04现在人工智能越来越实用,甚至深入到千家万户,随之而来的就是python技术的火爆,今天小猿圈python讲师为你讲解一下绘制频率分布直方图示例,希望对于刚刚自学python的你有一定的帮助。项目中在前期经常要看下数据的...现在人工智能越来越实用,甚至深入到千家万户,随之而来的就是python技术的火爆,今天小猿圈python讲师为你讲解一下绘制频率分布直方图示例,希望对于刚刚自学python的你有一定的帮助。
项目中在前期经常要看下数据的分布情况,这对于探究数据规律非常有用。概率分布表示样本数据的模样,长的好不好看如果有图像展示出来就非常完美了,使用Python绘制频率分布直方图非常简洁,因为用的频次非常高,这里记录下来。还是Python大法好,代码简洁不拖沓~
如果数据取值的范围跨度不大,可以使用等宽区间来展示直方图,这也是最常见的一种;如果数据取值范围比较野,也可以自定义区间端点,绘制图像,下面分两种情况展示
1.区间长度相同绘制直方图
#-*- encoding=utf-8 -*-
import datetime
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
zhfont1 = matplotlib.font_manager.FontProperties(fname='C:WindowsFontssimsun.ttc')
# 按照固定区间长度绘制频率分布直方图
# bins_interval 区间的长度
# margin 设定的左边和右边空留的大小
def probability_distribution(data, bins_interval=1, margin=1):
bins = range(min(data), max(data) + bins_interval - 1, bins_interval)
print(len(bins))
for i in range(0, len(bins)):
print(bins[i])
plt.xlim(min(data) - margin, max(data) + margin)
plt.title("probability-distribution")
plt.xlabel('Interval')
plt.ylabel('Probability')
plt.hist(x=data, bins=bins, histtype='bar', color=['r'])
plt.show()
2.区间长度不同绘制直方图
#-*- encoding=utf-8 -*-
import datetime
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
zhfont1 = matplotlib.font_manager.FontProperties(fname='C:WindowsFontssimsun.ttc'
# 自己给定区间,小于区间左端点和大于区间右端点的统一做处理,对于数据分布不均很的情况处理较友好
# bins 自己设定的区间数值列表
# margin 设定的左边和右边空留的大小
# label 右上方显示的图例文字
"""e
import numpy as np
data = np.random.normal(0, 1, 1000)
bins = np.arange(-5, 5, 0.1)
probability_distribution_extend(data=data, bins=bins)
"""
def probability_distribution_extend(data, bins, margin=1, label='Distribution'):
bins = sorted(bins)
length = len(bins)
intervals = np.zeros(length+1)
for value in data:
i = 0
while i < length and value >= bins[i]:
i += 1
intervals[i] += 1
intervals = intervals / float(len(data))
plt.xlim(min(bins) - margin, max(bins) + margin)
bins.insert(0, -999)
plt.title("probability-distribution")
plt.xlabel('Interval')
plt.ylabel('Probability')
plt.bar(bins, intervals, color=['r'], label=label)
plt.legend()
plt.show()
Case示例
if __name__ == '__main__':
data = [1,4,6,7,8,9,11,11,12,12,13,13,16,17,18,22,25]
probability_distribution(data=data, bins_interval=5,margin=0)
以上就是小猿圈python讲师给大家分享的绘制频率分布直方图示例,希望对小伙伴们有所帮助,想要了解更多内容的小伙伴可以到小猿圈直接观看,想要学好Python开发技术的小伙伴快快行动吧。
-
python作频率分布直方图
2020-11-08 23:22:26Python画频率分布直方图,不显示图形怎么办Python画频率分布直方图导入数据并作直方图图形不显示的解决方法 Python画频率分布直方图 我们在拿到一组数据时,为了观察其大致分布,常常需要绘制其频率分布直方图。下面...Python画频率分布直方图,不显示图形怎么办
Python画频率分布直方图
我们在拿到一组数据时,为了观察其大致分布,常常需要绘制其频率分布直方图。下面记录一下今天捯饬了大半天,用pycharm画出频率分布直方图的过程
导入数据并作直方图
import pandas as pd import numpy as np import matplotlib.pyplot as plt import matplotlib import math //编写函数 # 函数的定义参考博客:https://blog.csdn.net/whgyxy/article/details/88713917,并进行一些调整以适应非整数的数据 # 按照固定区间长度绘制频率分布直方图 # bins_interval 区间的长度 # margin 设定的左边和右边空留的大小 def probability_distribution(data, bins_interval=1, margin=1): bins = np.arange(math.floor(np.min(data)), math.ceil(np.max(data)), bins_interval) print(len(bins)) for i in np.arange(0, len(bins)): print(bins[i]) plt.xlim(math.floor(np.min(data)) - margin, math.ceil(np.max(data)) + margin) plt.title("Probability-distribution") plt.xlabel('Interval') plt.ylabel('Probability/Interval') # normed参数调整density,为频率分布density=True,频次分布density=False prob,left,rectangle = plt.hist(x=data, bins=bins, density=True, histtype='bar') for x, y in zip(left, prob): # 字体上边文字 # 频率分布数据 normed=True plt.text(x + bins_interval / 2, y + 0.003, '%.2f' % y, ha='center', va='top') plt.show() //调用函数 data=pd.read_excel('data.xlsx','Sheet3') #读入数据 if __name__ == '__main__': probability_distribution(data=data, bins_interval=5,margin=0)
图形不显示的解决方法
这时候使用以上代码会发现,没有报错,但是图形迟迟不出来。经过多次尝试,发现使用随机数据可以出图,但是导入的数据不行,所以是数据类型的问题。需要在导入数据时进行一下数据类型的转化即可,代码如下:
data=pd.read_excel('data.xlsx','Sheet3') #导入数据 data=np.array(data) #通过该方法将数据由pandas.core.frame.Dataframe类型转变为numpy.ndarray格式
到这里就可以正常运行啦~需要注意的是python的循环是通过缩进来识别的,所以要注意语句的缩进。
-
Python绘制频率分布直方图
2019-03-21 14:10:44Python绘制频率分布直方图 项目中在前期经常要看下数据的分布情况,这对于探究数据规律非常有用。概率分布表示样本数据的模样,长的好不好看如果有图像展示出来就非常完美了,使用Python绘制频率分布直方图非常简洁...Python绘制频率分布直方图
项目中在前期经常要看下数据的分布情况,这对于探究数据规律非常有用。概率分布表示样本数据的模样,长的好不好看如果有图像展示出来就非常完美了,使用Python绘制频率分布直方图非常简洁,因为用的频次非常高,这里记录下来。还是Python大法好,代码简洁不拖沓~
如果数据取值的范围跨度不大,可以使用等宽区间来展示直方图,这也是最常见的一种;如果数据取值范围比较野,也可以自定义区间端点,绘制图像,下面分两种情况展示
plt.hist函数中有个参数normed默认是None,表示不对数据进行归一化,这个情况绘制出来的就是频次直方图,加了normed=True,之后就是标准的频率直方图
1. 区间长度相同绘制直方图
#-*- encoding=utf-8 -*- import datetime import numpy as np import matplotlib.pyplot as plt import matplotlib zhfont1 = matplotlib.font_manager.FontProperties(fname='C:\Windows\Fonts\simsun.ttc') # 按照固定区间长度绘制频率分布直方图 # bins_interval 区间的长度 # margin 设定的左边和右边空留的大小 def probability_distribution(data, bins_interval=1, margin=1): bins = range(min(data), max(data) + bins_interval - 1, bins_interval) print(len(bins)) for i in range(0, len(bins)): print(bins[i]) plt.xlim(min(data) - margin, max(data) + margin) plt.title("Probability-distribution") plt.xlabel('Interval') plt.ylabel('Probability') # 频率分布normed=True,频次分布normed=False prob,left,rectangle = plt.hist(x=data, bins=bins, normed=True, histtype='bar', color=['r']) for x, y in zip(left, prob): # 字体上边文字 # 频率分布数据 normed=True plt.text(x + bins_interval / 2, y + 0.003, '%.2f' % y, ha='center', va='top') # 频次分布数据 normed=False # plt.text(x + bins_interval / 2, y + 0.25, '%.2f' % y, ha='center', va='top') plt.show()
2. 区间长度不同绘制频次直方图
#-*- encoding=utf-8 -*- import datetime import numpy as np import matplotlib.pyplot as plt import matplotlib zhfont1 = matplotlib.font_manager.FontProperties(fname='C:\Windows\Fonts\simsun.ttc' # 自己给定区间,小于区间左端点和大于区间右端点的统一做处理,对于数据分布不均很的情况处理较友好 # bins 自己设定的区间数值列表 # margin 设定的左边和右边空留的大小 # label 右上方显示的图例文字 """e import numpy as np data = np.random.normal(0, 1, 1000) bins = np.arange(-5, 5, 0.1) probability_distribution_extend(data=data, bins=bins) """ def probability_distribution_extend(data, bins, margin=1, label='Distribution'): bins = sorted(bins) length = len(bins) intervals = np.zeros(length+1) for value in data: i = 0 while i < length and value >= bins[i]: i += 1 intervals[i] += 1 intervals = intervals / float(len(data)) plt.xlim(min(bins) - margin, max(bins) + margin) bins.insert(0, -999) plt.title("probability-distribution") plt.xlabel('Interval') plt.ylabel('Probability') plt.bar(bins, intervals, color=['r'], label=label) plt.legend() plt.show()
Case示例
if __name__ == '__main__': data = [1,4,6,7,8,9,11,11,12,12,13,13,16,17,18,22,25] probability_distribution(data=data, bins_interval=5,margin=0)
效果如下图
频次分布直方图
频率分布直方图
-
r语言画频数分布直方图和频率分布直方图
2017-02-27 18:36:37#画频率分布直方图 #纵坐标名字为frequency,频数直方图。则使用:hist(x,freq=T) #纵坐标名字为density,频率直方图。则使用:hist(x,freq=F) hist(audit1[,1],col='white',freq=T)#画频率分布直方图
#纵坐标名字为frequency,频数直方图。则使用:hist(x,freq=T)
#纵坐标名字为density,频率直方图。则使用:hist(x,freq=F)hist(audit1[,1],col='white',freq=T)
-
用Excel生成频率分布表及频率分布直方图
2015-04-16 13:48:28用Excel生成频率分布表及频率分布直方图 -
Python绘制频率分布直方图的示例
2020-09-19 03:12:08今天小编就为大家分享一篇Python绘制频率分布直方图的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
用Excel做直方图(2):频率分布直方图
2019-03-23 17:02:54一、什么是直方图 1、定义 直方图是一种条形图,是以组距为底边、以频数为高度的一系列连接起来的直方型矩形图 2、相关概念 组数:在统计数据时,把数据按照不同的范围分成几个组,分成的组的个数称为组数。 ... -
matlab 频率分布直方图_绘制频率分布直方图的三种方法,总结的很用心!
2020-11-23 23:52:41直方图能帮助迅速了解数据的分布形态,将观测数据分组,并以柱状条表示各分组中观测数据的个数。简单而有效的可视化方法,可检测数据是否有问题,也可看出数据是否遵从某种已知分布。本次案例通过生成深圳市疫情个案... -
频率分布直方图组距如何确定_频率分布直方图与组距.PPT
2020-12-24 06:17:22茎叶图 知识回忆 初中统计部分曾学过用平均数、众数、中位数反映总体的集中水平 1、众 数:在一组数据中,出现次数最多的数据叫做这组数据的众数; 2、中位数:将一组数据按大小依次排列,把处在最中间位置的一个... -
Matlab做分布拟合及绘制频率分布直方图
2018-02-24 12:27:47% 画频率分布直方图 [counts,centers] = hist(x, 7); figure bar(centers, counts / sum(counts)) % 分布参数拟合 [mu,sigma]=normfit(x); % 画已知分布的概率密度曲线 x1 = -4:0.1:4; y1 = pdf('... -
ggplot2学习之6——geom_histogram画频率分布直方图频率加倍问题
2020-07-04 10:03:02文章目录说明1、geom_histogram函数说明2、绘图举例3、画频率分布直方图频率加倍4、解决办法 说明 R语言的版本为4.0.2,IDE为Rstudio,版本为1.3.959。学习过程中参考了以下文章: R语言ggplot2频率分布直方图小例子... -
python 频率分布直方图
2020-10-15 23:36:35但在使用hist时存在着如果设置normed,改变bins数量会导致概率变化的问题,因此在绘制分布直方图时需要将bins数量设置为真实的数量。 2.hist参数解析 matplotlib.pyplot.hist( x, bins=10, range=None, normed=... -
[R分析] 描述统计:频数和频率分布直方图
2018-02-08 12:20:13n&amp;lt;-round(runif(1000,0,100)) #生成0到100的...hist(n,freq = F) #频率分布直方图,纵坐标名字为density n&amp;lt;-rnorm(1000) #服从正态分布的1000个数 hist(n) hist(n,freq = F) ... -
用Excel生成频率分布表及频率分布直方图[转]
2013-06-04 00:01:11用Excel生成频率分布表及频率分布直方图 福建省南平高级中学 郑定华 353000 手机 13859389247 摘 要:依托Excel提供的“分析工具”,通过具体例子,进行实际操作与求解分析,完美高效地解决统计问题,使师生从... -
matlab 频率分布直方图_小葱品题丨高考必考内容—频率分布直方图?!教你三步得满分!...
2020-11-21 13:40:23这些年小葱老师以经验和数据事实证明,全国卷命题不回避热点,不回避已考点,不回避经典问题,简单的说就是只要不违反大原则,看似任性,实际更显执着!高考真题是研究高考最直接有效的素材...回归“品”题频率分布... -
matplotlib在画频率分布直方图时显示y轴的数值比例
2019-05-10 16:12:29matplotlib在画频率分布直方图时显示y轴的数值比例 在论坛上找了好久都没解决,最后发现了一种写法,亲测有效~ 首先导入相关模块 import matplotlib.pyplot as plt from matplotlib.ticker import ... -
频率分布直方图组距如何确定_在频率分布直方图中组距是如何确定的?是假设出来的吗?...
2020-12-24 06:17:23展开全部组距=方差/组数,然后向上取整636f70793231313335323631343130323136353331333431353966。但是组数怎么确定呢很复杂,8-10组之间然后再微调吧。在直角坐标系中,横轴表示样本数据的连续可取数值,按数据的... -
R_Studio(学生成绩)绘制频率分布直方图、分布饼图、折线比较图
2018-09-15 16:00:00(1)按0-59,60-69,70-79,80-89,90-100分组绘制高级语言程序设计成绩的频率分布直方图。 (2)按0-59,60-69,70-79,80-89,90-100分组绘制计算机导论成绩的分布饼图。 (3)绘图前4门课程的折线比较图... -
频率分布直方图和累积频率分布图
2016-11-16 11:12:00之所以回顾这个知识点,是因为文[1]用这种方法对比了4种匹配方法的精度和稳健性。 经过大量的试验,所有的匹配结果中,小误差的累积概率越大,则该匹配方法的精度越高。大多数情况下该方法能够取得较好的匹配精度... -
matlab 频率分布直方图_样本与直方图、箱线图
2020-11-28 12:34:25直方图4. 箱线图1. 基础概念介绍「总体与个体」将试验的全部可能的观察值称为「总体」每一个可能的观察值称为「个体」总体中所包含的个体的个数称为总体的「容量」容量为有限的称为「有限总体」容量为无限的称为「... -
Matlab计算矩阵频率分布直方图
2020-12-08 22:09:01最近在做温差直方图统计。 先来看下最新的histogram 一些使用语法直接拉到最底,重点说两个。 废话不多说上代码: a=[1,2,3;3,4,5;2,3,1]; histogram(a) 相比于hist这是一个比较大的更新吧。 在获取直方图时,需要...
-
三维地图GIS大数据可视化
-
ARARSHL.dll
-
立Flag 学习Ng - Location&Rewrite进阶
-
单片机完全学习课程全五季套餐
-
海思IVE_SVP_IVS开发手册.zip
-
FFmpeg4.3系列之26:视频监控之H265多路摄像头播控项目实战
-
第1章 Java入门基础及环境搭建【java编程进阶】
-
8086+8253+8259+8255可设置时间时钟
-
Codeforces Round #696 (Div. 2) 解题报告
-
找最小值
-
Optimization Week 1: Convex Sets
-
rocketmq-console-ng-2.0.0.jar
-
Java学习路线,好的学习路线和好的方法,能让我们少走些弯路
-
竟斗云2.0编程器固件OPBOOT_1.1.2.BIN
-
Optimization Week 14: Stochastic gradient descent
-
100条经典C语言笔试题目.ppt
-
pytorch中上采样的实现
-
LibreOffice_宏教程3_0.7z
-
跟我练内测小分队学习礼包
-
神州龙芯VERILOG编码规范.pdf