当前位置: 首页 > news >正文

手搓箱图并输出异常值(MATLAB)

看下需求

想要复刻这种箱图,咱们直接开始手搓

%% 可修改
% 生成模拟数据(假设5个用户群体的发帖数)
data = {randn(100,1)*10 + 30, ...   % 核心用户randn(200,1)*5 + 10, ...    % 边缘用户randn(150,1)*8 + 20, ...    % 积极社交用户randn(80,1)*12 + 25, ...    % 潜在创意用户randn(120,1)*6 + 15};       % 积极创新用户
groups = {'用户等级','发布的贴子数','发帖频率','点度中心度','提案数'};%%
% 合成用于 boxplot 的向量
allData = vertcat(data{:});
groupIdx = [ones(100,1);2*ones(200,1);3*ones(150,1);4*ones(80,1);5*ones(120,1)];% 绘制箱图
figure;
boxplot(allData, groupIdx, 'Labels', groups);
title('分布箱图(含异常值)');
ylabel('数值');
grid on;% 识别并显示各组的异常值
for i = 1:numel(data)d = data{i};Q1 = prctile(d, 25);Q3 = prctile(d, 75);IQR = Q3 - Q1;lowerFence = Q1 - 1.5 * IQR;upperFence = Q3 + 1.5 * IQR;outliers = d(d < lowerFence | d > upperFence);if isempty(outliers)fprintf('组 “%s” 无异常值。\n', groups{i});elsefprintf('组 “%s” 的异常值 (%d 个):\n', groups{i}, numel(outliers));disp(outliers');end
end

小伙伴们可根据需要修改上方的数据

看下效果

Over!

相关文章:

  • 海量数据笔试题--Top K 高频词汇统计
  • [MERN 项目实战] MERN Multi-Vendor 电商平台开发笔记(v2.0 从 bug 到结构优化的工程记录)
  • RabbitMQ 中的队列声明
  • 循环神经网络RNN(示例代码LSTM预测股价示例)
  • 2025年3月AGI技术月评|技术突破重构数字世界底层逻辑
  • 旋转磁体产生的场-对导航姿态的影响
  • 算法时代的“摩西十诫”:AI治理平台重构数字戒律
  • HTML字符实体和转义字符串
  • 某城乡老旧房屋试点自动化监测服务项目
  • Uniapp-小程序从入门到精通
  • gitlab-ce容器镜像源(国内)
  • 【霍夫变换】图像处理(OpenCV)-part11
  • 【修复】Django收到请求报Json解析错误
  • R语言中的常用内置函数
  • 汽车自动驾驶介绍
  • Java查询数据库表信息导出Word
  • 【重走C++学习之路】18、map和set
  • UEC++第10天|UEC++获取对象、RTTI是C++
  • 神经网络基础[ANN网络的搭建]
  • Flutter 在全新 Platform 和 UI 线程合并后,出现了什么大坑和变化?
  • 第六次“太空会师”,神舟二十号3名航天员顺利进驻中国空间站
  • 新华视点丨广西抗旱一线调查
  • 广东东莞调整普通住宅价格标准:一类镇街上浮300余元/平方米
  • 为博流量编造上海车展谣言,造谣者被公安机关依法行政处罚
  • “全国十大考古”揭晓:盘龙城遗址、周原遗址等入选
  • 百年前的亚裔艺术家与巴黎