【重新定义matlab强大系列十三】直方图 bin 计数和分 bin 散点图

news2024/10/7 4:37:34

🔗 运行环境:Matlab

🚩 撰写作者:左手の明天

🥇 精选专栏:《python》

🔥  推荐专栏:《算法研究》

#### 防伪水印——左手の明天 ####

💗 大家好🤗🤗🤗,我是左手の明天!好久不见💗

💗今天开启新的系列——重新定义matlab强大系列💗

📆  最近更新:2023 年 09 月 17 日,左手の明天的第 290 篇原创博客

📚 更新于专栏:matlab

#### 防伪水印——左手の明天 ####


histcounts——直方图 bin 计数

函数说明

[N,edges] = histcounts(X) 

将 X 的值划分为多个 bin,并返回每个 bin 中的计数以及 bin 边界。histcounts 函数使用自动分 bin 算法,返回均匀宽度的 bin,这些 bin 可涵盖 X 中的元素范围并显示基本分布的形状。

[N,edges] = histcounts(X,nbins) 

使用标量 nbins 指定的 bin 数量。

[N,edges] = histcounts(X,edges) 

将 X 划分为由向量 edges 来指定 bin 边界的 bin。如果 edges(k) ≤ X(i) < edges(k+1),值 X(i) 位于第 k 个 bin 中。最后一个 bin 也包含 bin 的右边界,这样如果 edges(end-1) ≤ X(i) ≤ edges(end),它包含 X(i)

[N,edges,bin] = histcounts(___) 

还使用以前的任何语法返回索引数组 binbin 是大小与 X 相同的数组,其元素是 X 中的对应元素的 bin 索引。第 k 个 bin 中的元素数量是 nnz(bin==k),与 N(k) 相同。

N = histcounts(C)

(其中 C 是分类数组)返回向量 N,该向量指示 C 中其值等于 C 的各类别的元素的数量。C 中的每个类别在 N 中都有一个对应元素。

N = histcounts(C,Categories) 

仅对 C 中其值等于由 Categories 指定的类别子集的元素进行计数。

举例

bin 计数和 bin 边界

将 100 个随机值分布到多个 bin 内。histcounts 自动选择合适的 bin 宽度以显示数据的基本分布。

X = randn(100,1);
[N,edges] = histcounts(X)
N = 1×7

     2    17    28    32    16     3     2

edges = 1×8

    -3    -2    -1     0     1     2     3     4

指定 bin 数

将 10 个随机数分布到 6 个等间距 bin 内。

X = [2 3 5 7 11 13 17 19 23 29];
[N,edges] = histcounts(X,6)
N = 1×6

     2     2     2     2     1     1

edges = 1×7

         0    4.9000    9.8000   14.7000   19.6000   24.5000   29.4000

指定 bin 边界

将 1,000 个随机数分布到多个 bin 内。通过向量定义 bin 边界,其中第一个元素是第一个 bin 的左边界,而最后一个元素是最后一个 bin 的右边界。

X = randn(1000,1);
edges = [-5 -4 -2 -1 -0.5 0 0.5 1 2 4 5];
N = histcounts(X,edges)
N = 1×10

     0    24   149   142   195   200   154   111    25     0

归一化的 bin 计数

将小于 100 的所有质数分布到多个 bin 内。将 'Normalization' 指定为 'probability' 以对 bin 计数进行归一化,从而 sum(N) 为 1。即,每个 bin 计数代表观测值属于该 bin 的可能性。

X = primes(100);
[N,edges] = histcounts(X, 'Normalization', 'probability')
N = 1×4

    0.4000    0.2800    0.2800    0.0400

edges = 1×5

     0    30    60    90   120

确定 bin 放置

将介于 -5 和 5 之间的 100 个随机整数分布到多个 bin 内,并将 'BinMethod' 指定为 'integers' 以使用以整数为中心的单位宽度 bin。指定 histcounts 的第三个输出以返回代表数据 bin 索引的向量。

X = randi([-5,5],100,1);
[N,edges,bin] = histcounts(X,'BinMethod','integers');

通过计算数字 3 在 bin 索引向量 bin 中的出现次数求第三个 bin 的 bin 计数。结果与 N(3) 相同。

count = nnz(bin==3)
count = 8

分类 bin 计数

创建一个表示投票的分类向量。该向量中的类别是 'yes''no' 或 'undecided'

A = [0 0 1 1 1 0 0 0 0 NaN NaN 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 1];
C = categorical(A,[1 0 NaN],{'yes','no','undecided'})
C = 1x27 categorical
     no      no      yes      yes      yes      no      no      no      no      undecided      undecided      yes      no      no      no      yes      no      yes      no      yes      no      no      no      yes      yes      yes      yes 

确定每个类别中的元素数量。

[N,Categories] = histcounts(C)
N = 1×3

    11    14     2

Categories = 1x3 cell
    {'yes'}    {'no'}    {'undecided'}

binscatter——分 bin 散点图

函数说明

binscatter(x,y) 

显示向量 x 和 y 的分 bin 散点图。分 bin 散点图将数据空间分成多个矩形 bin,并用不同颜色显示每个 bin 中的数据点数。放大绘图时,bin 的尺寸会自动调整,以显示更清晰的分辨率。

binscatter(x,y,N) 

指定要使用的 bin 数。N 可以是标量或二元素向量 [Nx Ny]。如果 N 是标量,则 Nx 和 Ny 都设置为标量值。每个维度中的最大 bin 数为 250。

举例

向量的分 bin 散点图

在 x 和 y 维上生成随机数,并创建分 bin 散点图。binscatter 函数会自动选择合适的 bin 数量,以便涵盖数据中的值范围。

x = randn(1e6,1);
y = 2*x + randn(1e6,1);
binscatter(x,y)

指定 bin 数

绘制包含 10,000 个随机数的分 bin 散点图,这些随机数划分到 x 维的 30 个 bin 和 y 维的 10 个 bin 中。

rng default % for reproducibility
x = randn(1e4,1);
y = randn(1e4,1);
h = binscatter(x,y,[30 10]);

 求 bin 计数。结果是一个矩阵,其左上方的元素对应于绘图中左下方的 bin 计数。x 维上的 bin 对应于矩阵行,y 维上的 bin 对应于矩阵列。

counts = h.Values;

更改分 bin 散点图的颜色图

创建一些随机数据点的分 bin 散点图。

x = randn(1e5,1);
y = randn(1e5,1);
binscatter(x,y)

默认颜色图范围从浅色(小值)到深色(大值)。改用以深色表示小值的颜色图更容易发现离群值。

可以使用 colormap 函数更改绘图中的颜色。使用 gca 传入当前坐标区句柄。

colormap(gca,'parula')

 

clc
clear all
close all
a = randn(1e6,1);
b = randn(1e6,1);
subplot(2,2,1)
b1 = binscatter(a,b);
axes2 = subplot(2,2,2);
b2 = binscatter(a,b);
colormap(axes2,'parula');
axes3 = subplot(2,2,3);
b3 = binscatter(a,b);
colormap(axes3,'jet');
axes4 = subplot(2,2,4);
b4 = binscatter(a,b);
colormap(axes4,'hot');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1017728.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Web前端大作业html+css静态页面--掌****有限公司

文章目录 前言 一、效果图 二、代码展示 1.html 2.css部分 总结 前言 对于大一新生来说&#xff0c;期末考试和专业结课作业可能会带来很大的压力。特别是涉及到网页设计和编写的作业&#xff0c;可能让人感到无从下手。例如&#xff0c;web实训大作业、网页期末作业、web课程与…

四、C#—变量,表达式,运算符(2)

&#x1f33b;&#x1f33b; 目录 一、表达式1.1 什么是表达式1.2 表达式的基本组成 二、运算符2.1 算术运算符2.1.1 使用 / 运算符时的注意事项2.1.2 使用%运算符时的注意事项 2.2 赋值运算符2.2.1 简单赋值运算符2.2.2 复合赋值运算符 2.3 关系运算符2.4 逻辑运算符2.4.1 逻辑…

nexus 5x 刷机记录

1. 参考链接 https://d1ag0n.asia/archives/nexus5x%E5%88%B7android81root https://github.com/r0ysue/AndroidSecurityStudy/blob/master/FRIDA/A01/README.md 2. 下载工具 adb ,fastboot 官网的下载地址 &#xff1a; https://developer.android.com/studio/releases/pla…

高级视频和直播应用程序:Challenge 1.1.8 源码

您是否正在寻找高级视频和直播应用程序&#xff1f; 那么挑战就是您的完美选择。终极视频和直播挑战平台。凭借其尖端功能&#xff0c;Challenge 为用户和所有者提供了独特且引人入胜的体验。 通过购买挑战代码&#xff0c;您将可以使用以下令人兴奋的功能&#xff1a; 故事&…

学术团体的机器人相关分会和机器人相关大赛的说明

1. 中国机械工程学会 &#xff08;机器人分会&#xff09; 2017年成立&#xff0c;地点 华中科技大学 &#xff1a;中国机械工程学会机器人分会在汉成立 (huanqiu.com) 链接&#xff1a;中国机械工程学会 (cmes.org) 侧重点&#xff1a;工业机械臂、工厂和物流相关的移动机…

第 363 场 LeetCode 周赛题解

A 计算 K 置位下标对应元素的和 模拟 class Solution { public:int pop_cnt(int x) {//求x的二进制表示中的1的位数int res 0;for (; x; x >> 1)if (x & 1)res;return res;}int sumIndicesWithKSetBits(vector<int> &nums, int k) {int res 0;for (int i…

做一个有灵魂的软件测试员

有没有觉得自己每天的工作千篇一律&#xff0c;每天一上班就盼着下班&#xff1f; 一个月似乎能令自己开心的时间也就是发工资的那一天&#xff1f; 自己的工作生活总感觉被人牵着走&#xff0c;兜兜转转过了一年又一年&#xff1f; 测试员的工作性质决定了与重复、枯燥和乏…

自定义实现简易版ArrayList

文章目录 1.了解什么是顺序表2.实现哪些功能3.初始化ArrayList4.实现功能接口遍历顺序表判断顺序表是否已满添加元素指定下标添加元素自定义下标不合法异常判断顺序表是否为空查找指定元素是否存在查找指定元素返回下标获取指定下标的元素顺序表为空异常修改指定下标元素的值删…

【深度学习实验】线性模型(三):使用Pytorch实现简单线性模型:搭建、构造损失函数、计算损失值

目录 一、实验介绍 二、实验环境 1. 配置虚拟环境 2. 库版本介绍 三、实验内容 0. 导入库 1. 定义线性模型linear_model 2. 定义损失函数loss_function 3. 定义数据 4. 调用模型 5. 完整代码 一、实验介绍 使用Pytorch实现 线性模型搭建构造损失函数计算损失值 二、…

5-1 Dataset和DataLoader

Pytorch通常使用Dataset和DataLoader这两个工具类来构建数据管道。 Dataset定义了数据集的内容&#xff0c;它相当于一个类似列表的数据结构&#xff0c;具有确定的长度&#xff0c;能够用索引获取数据集中的元素。 而DataLoader定义了按batch加载数据集的方法&#xff0c;它是…

无涯教程-JavaScript - EVEN函数

描述 EVEN函数返回四舍五入到最接近的偶数整数的数字。您可以使用此功能来处理两个项目。 语法 EVEN (number)争论 Argument描述Required/OptionalNumberThe value to round.Required Notes 如果数字为非数字,则EVEN返回#VALUE!错误值。 不管数字的符号如何,当从零开始调…

VisualStudio配置驱动远程部署

目标机器开启ping命令 默认情况下&#xff0c;Windows出于安全考虑不允许外部主机对其进行Ping测试。 允许ICMP回显 设置如下&#xff1a; 打开win7防火墙设置界面 左边的菜单中选择 【高级设置】 在弹出的 【高级安全 Windows 防火墙】 界面&#xff0c;选择 【入站规则】 …

Java常见面试题(含答案,持续更新中~~)

目录 1、JVM、JRE和JDK的关系 2、什么是字节码&#xff1f;采用字节码的最大好处是什么 3、Java和C的区别与联系 4、Java和GO的区别与联系 5、 和 equals 的区别是什么&#xff1f; 6、Oracle JDK 和 OpenJDK 的对比 7、String 属于基础的数据类型吗&#xff1f; 8、fi…

VHOST-SCSI代码分析(3)数据流处理

VHOST SCSI数据流如下所示&#xff1a; IO下发过程 虚拟机中应用态程序下发IO&#xff0c;依次经过VFS/文件系统层&#xff0c;BLOCK层&#xff0c;SCSI层&#xff0c;经VIRTIO SCSI驱动virtscsi_commit_rqs访问寄存器通知HOST内核中VHOST设备&#xff08;VHOST KICK过程&#…

tolua源码分析(十一)代码生成

tolua源码分析&#xff08;十一&#xff09;代码生成 上一节我们分析了tolua中struct数据在lua和C#之间传递的过程&#xff0c;这一节我们来看一下tolua自动生成各种辅助代码的流程。 生成所有代码的入口位于ToLuaMenu.cs的GenLuaAll&#xff1a; [MenuItem("Lua/Genera…

达梦数据库-DW-国产化--九五小庞

武汉达梦数据库股份有限公司成立于2000年&#xff0c;是国内领先的数据库产品开发服务商&#xff0c;国内数据库基础软件产业发展的关键推动者。公司为客户提供各类数据库软件及集群软件、云计算与大数据等一系列数据库产品及相关技术服务&#xff0c;致力于成为国际顶尖的全栈…

读取yaml文件的值

记录一下&#xff0c;读取yaml文件中属性的值&#xff0c;这里用Kubernetes的deployment.yaml文件来举例。 读取yaml文件中的image的值 yaml文件 apiVersion: apps/v1 # 1.9.0 之前的版本使用 apps/v1beta2&#xff0c;可通过命令 kubectl api-versions 查看 kind: Deploy…

获取中文词组的汉语拼音首字母拼接

我们需要一个快捷批量处理&#xff1a;中文词组获取其汉语拼音首字母并拼接起来。 比如&#xff1a; 输出功率3&#xff1a;SCGL3 一鸣惊人&#xff1a;YMJR 我们可以采用字符字典法&#xff0c;穷举出所有的汉字【暂只考虑简体中文】 Dictionary<char,string> dict…

【数据分享】2006-2021年我国省份级别的市容环境卫生相关指标(20多项指标)

《中国城市建设统计年鉴》中细致地统计了我国城市市政公用设施建设与发展情况&#xff0c;在之前的文章中&#xff0c;我们分享过基于2006-2021年《中国城市建设统计年鉴》整理的2006—2021年我国省份级别的市政设施水平相关指标、2006-2021年我国省份级别的各类建设用地面积数…

【C++】STL—— unordered_map的介绍和使用、 unordered_map的构造函数和迭代器、 unordered_map的增删查改函数

文章目录 1. unordered_map的介绍2. unordered_map的使用2.1unordered_map的构造函数2.2unordered_map的迭代器2.3unordered_map的容量和访问函数2.4unordered_map的增删查改函数 1. unordered_map的介绍 unordered_map的介绍 &#xff08;1&#xff09;unordered_map是存储&l…