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

Python自动化质量分析:3行代码生成正态分布报告(含Matplotlib可视化)

Python自动化质量分析3行代码生成正态分布报告含Matplotlib可视化在工业生产与质量管控领域正态分布分析是评估产品合格率的核心工具。传统方法依赖纸质表格查询和手工计算不仅效率低下还容易出错。本文将展示如何用Python的scipy.stats和matplotlib库通过简洁的代码实现动态正态分布分析让质量工程师从繁琐的手工操作中解放出来。1. 环境准备与基础概念在开始编写代码前需要确保已安装必要的Python库。推荐使用Anaconda发行版它已包含我们所需的大部分科学计算工具pip install numpy scipy matplotlib正态分布又称高斯分布由两个关键参数决定μ均值决定分布曲线的中心位置σ标准差决定曲线的胖瘦程度其概率密度函数为$$ f(x) \frac{1}{\sigma\sqrt{2\pi}} e^{-\frac{1}{2}(\frac{x-\mu}{\sigma})^2} $$提示在质量控制中通常将μ设为规格中心值σ反映制程波动大小。当μ0且σ1时称为标准正态分布。2. 核心代码实现2.1 生成正态分布曲线使用scipy.stats的norm模块只需3行代码即可生成完整的正态分布曲线import numpy as np from scipy.stats import norm import matplotlib.pyplot as plt # 核心代码 mu, sigma 0, 1 # 可调整参数 x np.linspace(mu-4*sigma, mu4*sigma, 1000) plt.plot(x, norm.pdf(x, mu, sigma))这段代码会生成μ0、σ1的标准正态分布曲线x轴范围覆盖±4σ区间。2.2 动态调整参数通过交互式控件可以实时观察参数变化对曲线的影响from ipywidgets import interact interact(mu(-2, 2, 0.1), sigma(0.5, 2, 0.1)) def plot_normal(mu0, sigma1): x np.linspace(mu-4*sigma, mu4*sigma, 1000) plt.plot(x, norm.pdf(x, mu, sigma)) plt.title(f正态分布 (μ{mu}, σ{sigma})) plt.grid(True)运行后会显示滑动条调整μ和σ时曲线会实时更新这对理解参数作用非常直观。3. 高级分析功能3.1 自动计算合格率传统方法需要查表计算合格率而Python可以直接积分计算def calculate_yield(lower, upper, mu, sigma): return norm.cdf(upper, mu, sigma) - norm.cdf(lower, mu, sigma) # 示例计算±3σ区间的合格率 yield_3sigma calculate_yield(-3, 3, 0, 1) print(f±3σ区间合格率: {yield_3sigma*100:.2f}%)输出结果±3σ区间合格率: 99.73%3.2 可视化关键区间添加标注可以直观显示重要公差区间def plot_with_annotations(mu0, sigma1): x np.linspace(mu-4*sigma, mu4*sigma, 1000) plt.plot(x, norm.pdf(x, mu, sigma)) # 标注±1σ, ±2σ, ±3σ区间 for n in [1, 2, 3]: lower, upper mu-n*sigma, mun*sigma plt.axvline(lower, colororange, linestyle--) plt.axvline(upper, colororange, linestyle--) yield_pct calculate_yield(lower, upper, mu, sigma)*100 plt.text(mu, norm.pdf(mu, mu, sigma)*0.9-n*0.05, f±{n}σ: {yield_pct:.2f}%, hacenter) plt.title(f带标注的正态分布 (μ{mu}, σ{sigma})) plt.grid(True)4. 实战应用案例4.1 批量生成检验报告以下函数可以自动生成包含关键统计量的PDF报告from matplotlib.backends.backend_pdf import PdfPages def generate_reports(parameters_list, filenamequality_reports.pdf): with PdfPages(filename) as pdf: for mu, sigma in parameters_list: plt.figure(figsize(8, 6)) plot_with_annotations(mu, sigma) # 添加统计表格 col_labels [区间, 合格率] cell_text [ [f±1σ ({mu-sigma:.2f}~{musigma:.2f}), f{calculate_yield(mu-sigma, musigma, mu, sigma)*100:.2f}%], [f±2σ ({mu-2*sigma:.2f}~{mu2*sigma:.2f}), f{calculate_yield(mu-2*sigma, mu2*sigma, mu, sigma)*100:.2f}%], [f±3σ ({mu-3*sigma:.2f}~{mu3*sigma:.2f}), f{calculate_yield(mu-3*sigma, mu3*sigma, mu, sigma)*100:.2f}%] ] plt.table(cellTextcell_text, colLabelscol_labels, locbottom, bbox[0.1, -0.4, 0.8, 0.3]) pdf.savefig() plt.close()使用示例process_data [(10, 0.5), (15, 1.2), (20, 0.8)] # 多组(μ, σ)参数 generate_reports(process_data)4.2 制程能力指数计算CPK是衡量制程能力的重要指标可以轻松扩展我们的分析工具def calculate_cpk(usl, lsl, mu, sigma): 计算制程能力指数 cpu (usl - mu) / (3*sigma) cpl (mu - lsl) / (3*sigma) return min(cpu, cpl) # 示例规格上限12下限8实际μ10.2σ0.5 cpk calculate_cpk(12, 8, 10.2, 0.5) print(fCPK值: {cpk:.2f})将CPK分析加入报告plt.text(mu, norm.pdf(mu, mu, sigma)*0.6, fCPK: {cpk:.2f}, hacenter, bboxdict(facecolorwhite, alpha0.8))5. 性能优化技巧当需要处理大量数据时可以考虑以下优化方法向量化计算利用numpy的向量运算替代循环# 同时计算多个点的概率密度 x_values np.array([-2, -1, 0, 1, 2]) densities norm.pdf(x_values, 0, 1)并行处理对于独立的质量分析任务from concurrent.futures import ThreadPoolExecutor def analyze_process(params): mu, sigma params return calculate_yield(mu-3*sigma, mu3*sigma, mu, sigma) with ThreadPoolExecutor() as executor: results list(executor.map(analyze_process, process_data))缓存计算结果对于重复使用的中间结果from functools import lru_cache lru_cache(maxsize100) def cached_cdf(x, mu, sigma): return norm.cdf(x, mu, sigma)在实际项目中我发现将常用分析函数封装成类可以更好地组织代码class NormalDistributionAnalyzer: def __init__(self, mu, sigma): self.mu mu self.sigma sigma def pdf(self, x): return norm.pdf(x, self.mu, self.sigma) def cdf(self, x): return norm.cdf(x, self.mu, self.sigma) def yield_between(self, lower, upper): return self.cdf(upper) - self.cdf(lower) def plot(self, axNone, **kwargs): x np.linspace(self.mu-4*self.sigma, self.mu4*self.sigma, 1000) if ax is None: ax plt.gca() ax.plot(x, self.pdf(x), **kwargs) return ax

相关文章:

Python自动化质量分析:3行代码生成正态分布报告(含Matplotlib可视化)

Python自动化质量分析:3行代码生成正态分布报告(含Matplotlib可视化) 在工业生产与质量管控领域,正态分布分析是评估产品合格率的核心工具。传统方法依赖纸质表格查询和手工计算,不仅效率低下,还容易出错。…...

手把手教你用Wireshark分析未知网络协议(附实战案例)

手把手教你用Wireshark分析未知网络协议(附实战案例) 在数字化浪潮席卷各行各业的今天,网络协议作为数据通信的"语言规则",其重要性不言而喻。无论是企业内部的私有通信协议,还是物联网设备间的数据交互&…...

手把手教你用TI方案实现4G/2G信号线供电(POC)完整配置流程

基于TI方案的4G/2G信号线供电(POC)实战指南 在物联网设备部署中,如何简化供电布线一直是工程师面临的挑战。信号线供电(Power over Coax, POC)技术通过同轴电缆同时传输电力与信号,能有效减少线缆数量&…...

nlp_gte_sentence-embedding_chinese-large在电商搜索中的应用:Query理解优化

nlp_gte_sentence-embedding_chinese-large在电商搜索中的应用:Query理解优化 电商平台每天面临数百万次搜索请求,用户输入的Query千奇百怪:"红色连衣裙显瘦"、"苹果手机最新款便宜"、"给宝宝买的奶粉要进口的"…...

Qwen-Ranker Pro保姆级教程:错误日志排查与常见‘引擎未就绪’问题解决

Qwen-Ranker Pro保姆级教程:错误日志排查与常见‘引擎未就绪’问题解决 1. 引言:为什么需要这个教程 如果你正在使用Qwen-Ranker Pro这个强大的语义重排序工具,很可能遇到过这样的场景:满怀期待地启动服务,却发现界面…...

Stable Yogi Leather-Dress-Collection 算法优化实战:提升皮革纹理生成效率

Stable Yogi Leather-Dress-Collection 算法优化实战:提升皮革纹理生成效率 最近在做一个时尚设计相关的项目,需要大量生成不同风格的皮革纹理,用于虚拟服装展示。一开始直接用开源的Stable Yogi Leather-Dress-Collection模型,效…...

OWL ADVENTURE多模态模型快速上手:环境验证+测试脚本,30分钟跑通全流程

OWL ADVENTURE多模态模型快速上手:环境验证测试脚本,30分钟跑通全流程 1. 环境准备:检查你的基础配置 在开始OWL ADVENTURE的探索之旅前,我们需要确保你的开发环境已经准备就绪。这个步骤就像出发前检查装备,确保不会…...

告别信息盲区:用PtitPrince绘制雨云图,一站式解锁数据分布全貌

1. 为什么我们需要雨云图? 做数据分析的朋友们应该都遇到过这样的困扰:当你用箱线图展示数据时,老板总会追问"这些数据点具体是怎么分布的?";而当你改用密度图时,又会被质疑"关键统计指标在…...

Phi-3 Forest Lab多场景落地:教育问答、代码辅导、文档摘要三合一实践

Phi-3 Forest Lab多场景落地:教育问答、代码辅导、文档摘要三合一实践 1. 引言:当AI遇见森林美学 在数字世界的喧嚣中,我们创造了一个与众不同的AI对话空间——Phi-3 Forest Lab。这个项目将微软Phi-3 Mini 128K Instruct模型的强大能力&am…...

GLM-OCR与Git结合:团队协作中的文档变更智能对比与分析

GLM-OCR与Git结合:团队协作中的文档变更智能对比与分析 每次合同评审会,最头疼的就是找不同。十几页的PDF,密密麻麻的条款,法务同事用肉眼逐字逐句对比两个版本,生怕漏掉一个数字或者一个“不”字。研发团队更新技术手…...

异步任务卡顿?Dify自定义节点不生效?深度拆解Event Loop与Celery集成失效根源,

第一章:Dify自定义节点异步处理的核心挑战与现象定位在 Dify 低代码编排环境中,当开发者通过自定义 Python 节点(Custom LLM Node 或 Code Node)引入耗时操作(如外部 API 调用、文件 IO、模型推理)时&#…...

waifu2x:动漫图像超分辨率技术全解析

waifu2x:动漫图像超分辨率技术全解析 【免费下载链接】waifu2x Image Super-Resolution for Anime-Style Art 项目地址: https://gitcode.com/gh_mirrors/waifu/waifu2x 当数字艺术家小周尝试将300x300像素的角色草图放大到1200x1200像素时,传统软…...

Ubuntu 22.04开机卡在/dev/sda3?别慌!可能是磁盘空间不足惹的祸

Ubuntu 22.04开机卡在/dev/sda3?磁盘空间不足的排查与解决指南 当你满怀期待地按下Ubuntu 22.04的电源键,却看到系统卡在/dev/sda3: clean的提示画面时,那种焦虑感想必很多开发者都深有体会。作为一名长期使用Ubuntu进行嵌入式开发的工程师&a…...

Activiti7数据库表结构全解析:25张表的作用与关联关系详解

Activiti7数据库表结构全解析:25张表的作用与关联关系详解 在当今企业级应用开发中,工作流引擎已成为实现业务流程自动化的核心组件。作为一款轻量级、高性能的开源工作流引擎,Activiti7凭借其清晰的架构设计和高效的执行能力,在众…...

Go 结构体设计艺术:领域驱动建模与高内聚代码的映射实践

Go 结构体设计艺术:领域驱动建模与高内聚代码的映射实践 导读:结构体是 Go 语言数据建模的核心载体。如何从复杂的业务领域中抽象出清晰的结构体设计?本文基于领域驱动设计(DDD)思想,结合电商、支付、用户系统等真实场景,系统讲解 Go 结构体设计的核心原则、常见模式与反…...

VMware虚拟机安装openEuler 22.03 LTS SP3全流程指南(附镜像下载与网络配置)

VMware虚拟机安装openEuler 22.03 LTS SP3全流程指南(附镜像下载与网络配置) 在数字化转型浪潮中,企业级操作系统正面临从传统闭源向开源生态的转型。作为国产操作系统的代表之一,openEuler凭借其高性能、高安全性及完善的社区支持…...

Wan2.1 VAE部署成本优化:选择最佳GPU实例与按需启停策略

Wan2.1 VAE部署成本优化:选择最佳GPU实例与按需启停策略 1. 引言 最近和几个做AI应用开发的朋友聊天,大家不约而同地提到了同一个问题:模型部署的成本。尤其是像Wan2.1 VAE这种在图像生成、编辑中扮演关键角色的模型,虽然推理速…...

云容笔观·东方红颜影像生成系统结合LaTeX:自动化生成学术论文插图与封面

云容笔观东方红颜影像生成系统结合LaTeX:自动化生成学术论文插图与封面 每次写论文,最头疼的环节是什么?对我而言,除了反复修改的引言,就是制作那些示意图、流程图和封面了。找图库素材不匹配,自己用专业软…...

TMC9660芯片实战:如何用一块板子搞定BLDC电机闭环控制(附开发板调试心得)

TMC9660芯片实战:如何用一块板子搞定BLDC电机闭环控制(附开发板调试心得) 在电机控制领域,BLDC(无刷直流电机)因其高效率、长寿命和低噪音等优势,正逐步取代传统有刷电机。然而,实现…...

Qwen3-4B-Instruct参数详解:理解instruct微调机制与CPU推理时的batch_size权衡

Qwen3-4B-Instruct参数详解:理解instruct微调机制与CPU推理时的batch_size权衡 1. 引言:从“能回答”到“会思考”的模型进化 如果你用过早期的AI模型,可能会发现一个现象:你问它一个问题,它确实能给你一段文字&…...

ElastixAI 携 FPGA 方案打造新一代人工智能超级计算技术,打破神秘面纱

近年来,大模型训练几乎完全依赖 GPU,但随着生成式 AI 应用的爆发,一个新的问题逐渐显现:大模型推理(Inference)与 GPU 架构并不完全匹配。美国 AI 硬件初创公司 ElastixAI 提出了一种不同思路:利…...

PID调参避坑指南:从电机抖动到平稳控制的5个关键步骤

PID调参避坑指南:从电机抖动到平稳控制的5个关键步骤 在机器人竞赛和智能车开发中,电机控制是决定系统性能的核心环节。许多开发者都经历过这样的场景:当电机开始高速运转时,系统突然出现剧烈抖动,编码器读数像过山车一…...

不用Chrome插件了!教你用浏览器书签实现Postman常用功能(含CORS解决方案)

浏览器书签变身API测试神器:零插件实现Postman核心功能 每次调试API都要打开Postman?临时测试接口却不想安装插件?其实你的浏览器书签就能变身轻量级API测试工具。本文将带你用几行JavaScript代码打造一个无需安装、跨设备同步的书签版Postma…...

2024 AI-Playground:本地部署Intel Arc GPU加速的AI创作平台全指南

2024 AI-Playground:本地部署Intel Arc GPU加速的AI创作平台全指南 【免费下载链接】AI-Playground AI PC starter app for doing AI image creation, image stylizing, and chatbot on a PC powered by an Intel Arc™ GPU. 项目地址: https://gitcode.com/gh_mi…...

避坑指南:二自由度机械臂动力学仿真中SolidWorks误差问题解析

二自由度机械臂动力学仿真误差分析与高精度建模实践 在机电一体化项目的开发流程中,机械臂动力学仿真是验证控制算法有效性的关键环节。许多工程师习惯使用SolidWorks等CAD软件内置的仿真模块进行初步验证,却常常在后期控制算法实现时发现仿真结果与实物…...

AHK脚本实战:5分钟搞定QQ音乐免费歌曲下载(附完整代码)

AHK脚本实战:高效获取QQ音乐资源的自动化方案 每次听到喜欢的歌曲却苦于无法离线保存?作为AHK脚本的深度用户,我发现了一个既简单又高效的解决方案——无需安装第三方软件,仅用几行代码就能实现QQ音乐资源的自动化获取。这个方法特…...

告别SQL与文档!通义灵码2.5的MCP生态如何让数据库开发效率飙升300%

1. 从SQL苦手到数据库自由:通义灵码2.5的MCP革命 记得三年前我刚接手一个电商项目时,为了写一个包含五表联查的订单统计SQL,整整折腾了一下午——反复查阅MySQL文档、调试JOIN语句、优化索引,最后还因为漏了个外键约束导致生产环境…...

上位机软件开发实战:从数据采集到可视化全流程解析

1. 上位机开发基础入门 第一次接触上位机开发时,我也被各种专业术语绕得头晕。简单来说,上位机就像工厂里的总控室,而下位机就是车间里的机器设备。上位机软件主要负责三件事:收集设备数据、处理分析数据、展示数据给人看。 常见的…...

PasteMD企业应用:集成至内部Wiki系统,实现员工随手粘贴→自动归档Markdown

PasteMD企业应用:集成至内部Wiki系统,实现员工随手粘贴→自动归档Markdown 1. 引言:从个人工具到企业级知识管理 想象一下这个场景:一位产品经理刚开完一场需求评审会,会议记录散乱地记在记事本里,有要点…...

Matlab数据降维实战:drtoolbox从安装到避坑全指南

Matlab数据降维实战:drtoolbox从安装到避坑全指南 如果你正在Matlab的海洋里探索高维数据的奥秘,那么“降维”这个词对你来说一定不陌生。面对动辄成百上千维的特征,无论是可视化还是后续的机器学习建模,都像是一场噩梦。这时候&a…...