• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 高中学习 > 正文

    C#动态生成柏拉图的方法与实现

    时间:2021-01-21 08:02:09 来源:雅意学习网 本文已影响 雅意学习网手机站


      摘要:数据管理与分析是企业级生产管理软件中必不可少的部分,而通过图表能直观的反应数据的变化。本文以C#动态生成柏拉图的方法为例,介绍在程序中实现图表的相关方法与技巧,它编程实现方便,程序员可以自主控制图表显示,程序小巧,便于打包,取得了很好的实用效果。
      关键词:C#;动态;柏拉图;图表
      中图分类号:TP39 文献标识码:A文章编号:1007-9599 (2011) 06-0000-02
      C # Dynamically Generated Plato Methods and Implementation
      Liu Zhensheng
      (Suzhou Industrial Park Institute of Vocational Technology,Suzhou 215125,China)
      Abstract:Data management and analysis is enterprise-class production management software,an essential part of the diagram can be directly through changes in the response data.In this paper, C # dynamically generated Plato"s method as example,described in the program implementation methods and techniques related to the chart,it is easy programming,the programmer can independently control the chart shows,the program small,easy to pack,get a good practical effect.
      Keywords:C#;Dynamic;Plato;Chart
      一、引言
      在开发企业级软件中,数据管理和分析是必不可少的开发环节,很多情况下用户需要通过图表方式直观的显示某个区间内的数据变化情况,而编程实现动态图表是一件繁琐而复杂的工作,首先因为图表显示的数据比较复杂,而且随着客户需求的变化和扩展,图表的样式也要随之变化。
      很多程序员会选择水晶报表或第三方控件来完成图标的生成。水晶报表(CrystaI Report)是一个专业的报表的工具,可以方便地将数据转化成图表,但水晶报表只能生成定制图表,且所提供的图表模板很多时候并不是开发程序时所需要的样式,且版权费用较高;第三方控件能够很方便地完成图表的生成,但第三方控件的费用往往也比较高,同时第三方控件可能会带来一些程序安全性和兼容性方面的麻烦。鉴于以上分析,本文在结合系统需求的基础上,给出了由用GDI+类库来生成图表的方法,它编程实现方便,程序员可以自主控制图表显示,程序小巧,便于打包。
      柏拉图是品质管理七大基础手段之一。柏拉图(Pareto chart),也称柏拉分布图,是一个垂直条形统计图,图中显示的相对频率数值从左至右以递减方式排列。由于图中表示频率的较高条形能清晰显示某一特定体系中具有最大累积效应的变量,因此柏拉图可有效运用于分析首要关注问题。图表可清晰显示哪些因素具有最大影响力,以及关注哪些方面可能会产生最大利益,因此柏拉图在企业中的品质管理中应用十分广泛。
      本文以C#动态生成柏拉图的方法为例,介绍在程序中实现图表的相关方法与技巧。
      二、程序设计要求
      开发C#动态生成柏拉图程序的基本要求如下:
      1.可以按照产品的工单号、批次号、材料号查询,生成分析图表;2.可以通过时间选项,按时间段生成分析图表;3.可以按照生产线号,生成分析图表;4.要求Pareto chart中能显示出标准的柏拉图,要包含产品不良率的相关数量和比例值,直观的看到产品要改良的生产工艺应该在哪个环节等结果;5.可以把生成的柏拉图导出为图片,方便打印等;
      在此我们只讨论经过以上的各种条件,混合查询生成的数据记录集,如何生成柏拉图的程序实现方法。
      三、程序设计(绘制Pareto的部分界面)
      程序在实现功能的前提下,界面设计尽量能更加美观和人性化,使用户能很容易掌握操作的流程,在程序运行过程中,只有符合一定的条件再打开相应的一些选项和按钮,避免操作错误。以下为基本的程序界面:
      四、程序设计(绘制Pareto的部分代码)
      int height=500,width=745;//定义Bitmap的大小,方便调整;
      System.Drawing.Bitmap image=new System.Drawing.Bitmap(width,height);
      //创建Graphics类对象
      Graphics g=Graphics.FromImage(image);
      try
      {//清空图片背景色
      g.Clear(Color.White);
      Fontfont=new System.Drawing.Font("Arial",9,FontStyle.Regular);
      ……//省略字体和画笔的部分定义
      //输出图片上的文字和统计数字
      g.DrawString("柏拉图分析",font1,brush1,new PointF(260,10));g.DrawString("总计:",font3,brush3,new PointF(430,20));
      g.DrawString(Convert.ToString(stotal),font3,brush3,new PointF(470,20));
      ……
      //画图片的边框线
      g.DrawRectangle(newPen(Color.Blue),0,0,image.Width-4,image.Height-4);
      //定义帕拉图的起始点坐标。
      int startx=60;
      int starty=100;
      //定义帕拉图的终止点坐标
      int endx=680;
      int endy=410;
      //定义x,y轴分隔数量;
      int slipx=ii;//x轴分隔
      int slipy=10;//y轴分隔
      //绘制纵向线条
      int x=startx;
      Pen mypen1=new Pen(Color.Blue,1);
      for(int i=0;i  {if(i = =0)
      {g.DrawLine(mypen1,startx,starty,startx,endy);}
      elseif(i==slipx)
      {g.DrawLine(mypen1,endx,starty,endx,endy);}
      else
      {mypen.DashStyle=DashStyle.Dot;
      g.DrawLine(mypen,x,starty,x,endy);
      mypen.DashStyle=DashStyle.Solid;}
      x=x+(endx-startx)/slipx;}
      //绘制横向线条,画右侧百分比坐标
      String[]m={"100%","90%","80%","70%","60%","50%","40%","30%","20%","10%","0%"};

    推荐访问:柏拉图 生成 方法 动态

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章