C#论文动态生成柏拉图论文

更新时间:2024-06-14 21:04:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

C#论文动态生成柏拉图论文

摘要:数据管理与分析是企业级生产管理软件中必不可少的部分,而通过图表能直观的反应数据的变化。本文以c#动态生成柏拉图的方法为例,介绍在程序中实现图表的相关方法与技巧,它编程实现方便,程序员可以自主控制图表显示,程序小巧,便于打包,取得了很好的实用效果。

关键词:c#;动态;柏拉图;图表

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(\,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 int y=starty; for(int i=0;istotal) {ii2=i;break;} else

{ii2=ii2+1;}}

for(int i=0;i

{yleft=yleft-yleft_slip;

g.drawline(mypen,startx,yleft,startx-5,yleft); g.drawstring(y_name[i].tostring(),font,brushes.red,startx-40,yleft);}

this.panel2.backgroundimage=image;//生成image显示到前台

btncallexportdirect.visible=true;//显示导出按钮 五、结束语

本文用gdi+类库来动态生成图表的方法,它编程实现方便、程序小巧、便于打包、不易出错不需要购买第三方控件,不增加开发成本,实用性很强。读者可结合自己的实际情况,在自己的程序中灵活的加以运用和实践。

参考文献

[1]马俊.c#网络应用蝙程基础[m].北京:人民邮电出版社,2006:245-246

[2]王建平.基于web的多页打印报表动态生成[j].微型电脑应用,2006,5:65-67

[3]邓铁青.利用vba与com+实现多层结构题库系统平台[j].计算机系统应用[j],2002,6

[4]刘曜.在vb中利用vba生成图表[j].电脑学习,2005,2:35-36

[5]杨凯.利用fusioncharts组件制作动态web统计图表[j].微电脑世界,2009,7

[6]张成才,常静,叶伟.基于owc的动态统计图表的设计与实现[j].计算机技术与发展,2009,19(10)

[7]张成才,王永信,刘丹丹,等.利用mschart控件动态生成统计图[j].郑州大学学报.工学版,2007,28(3)

[8]董娜,张雪冰.c#中基于gdi+ 的数据图表绘制[j].淮南师范学院学报,2009,11(3)

[9]庞子龙,郭念.在c#环境下动态图表的实现方法讨论[j].福建电脑,2009,25(2)

[10]刘耿龙.眭伟芳.c/s模式下fusioncharts图表设计与实现[j].电脑知识与技术,2010,6(5)

[11]闫宇晗,常鑫.在c#中用gdi+实现图形动态显示[j].计算机技术与发展,2006,16(12)

[12]鹿庆.何文雪.程彬.gdi+在轨道交通综合监控系统软件中的应用[j].计算机安全,2010,1

[作者简介]

刘振声,男,山东烟台人,研究生毕业,工学硕士学位,高校讲师/工程师,从事教育工作十余年,承接过众多企业项目开发工作,有丰富的教学和项目开发经验。其中合作开发的企业生产管理软件,中美合资企业认可度高,实现了对

印度分公司的出口。

本文来源:https://www.bwwdw.com/article/q2y3.html

Top