c# 调用Minitab18.1实现直方图、质量正态图


前言

c#直接实现质量的正态图有些困难,大家可以调用Minitab的命令生成,但前提是电脑必须安装Minitab,我的下面代码是基于Minitab18.1


提示:以下是本篇文章正文内容,下面案例可供参考

一、Minitab是什么?

参考Minitab百度百科

二、使用步骤

1.引入Minitab COM库

在这里插入图片描述

2.在Minitab上显示命令行

打开Minitab 选择编辑器- 显示命令行,打开命令行工具
在这里插入图片描述

3.在Minitab上实际操作后生成命令(当然如果你了解Minitab命令,此步可以省略)

把数据copy到minitab
在这里插入图片描述
点击统计-质量工具-Capability Sixpack(s)-正态
在这里插入图片描述
输入单列,自组大小,规格上下限后确定
在这里插入图片描述
图片和命令行则自动显示
在这里插入图片描述

4.C#调用Minitab并发送命令

代码如下(示例):
res_data 是存储数据的datatable
data1 data2 data3 三个数组分别存储Minitab上的三列数据

try
            {
                foreach (Process proc in Process.GetProcessesByName("Mtb"))
                {
                    proc.Kill();
                }
            }
            catch (Exception ex)
            {

            }
            ArrayList data1 = new ArrayList();
            ArrayList data2 = new ArrayList();
            ArrayList data3 = new ArrayList();
            for (int i = 0; i < res_data.Rows.Count; i++)
            {
                data1.Add(Convert.ToDouble(res_data.Rows[i]["chazhi"].ToString()));
                data2.Add(res_data.Rows[i]["sbbh"].ToString());
                data3.Add(Convert.ToDateTime(res_data.Rows[i]["rq"].ToString()));
            }
            Mtb.Application MtbApp = new Mtb.Application();
            MtbApp.UserInterface.Visible = true;
            Mtb.Project MtbProj = MtbApp.ActiveProject;
            Mtb.Columns MtbColumns = MtbProj.ActiveWorksheet.Columns;
            Mtb.Column MtbColumn1 = MtbColumns.Add(null, null, 1);
            Mtb.Column MtbColumn2 = MtbColumns.Add(null, null, 1);
            Mtb.Column MtbColumn3 = MtbColumns.Add(null, null, 1);
            MtbColumn1.SetData(data1.ToArray());
            MtbColumn2.SetData(data2.ToArray());
            MtbColumn3.SetData(data3.ToArray());
            MtbProj.ExecuteCommand($"Sixpack C1 1;Lspec -0.5;Uspec 0.5; Pooled; AMR;CCRbar;CCSbar;CCAMR;UnBiased;OBiased;Breakout 25;Toler 6;Title \"XXXX的Process Capability Sixpack 报告\"; CStat; Test 1.");
           Mtb.Graph MtbGraph = MtbProj.Commands.Item(1).Outputs.Item(1).Graph;
            string path = Application.StartupPath;
            string filename = path + DateTime.Now.ToString("yyyy-MM-dd HHmmss") + ".PNG";
            MtbGraph.SaveAs(filename, true, Mtb.MtbGraphFileTypes.GFPNGHighColor);
            MtbProj.Delete();
            MtbApp.Quit();
            pictureBox1.ImageLocation = filename;

最终效果:
在这里插入图片描述

总结

主要是调用了Minitab的COM库,需要每个使用程序的电脑都安装Minitab。
程序可以直接对Minitab进行操作,发送命令生成图形,对图片进行导出保存,再由c# 前端展示,也可以直接打开Minitab在其显示。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

48303354

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值