Web统计图表解决方案

原创 2002年08月14日 10:54:00
徐长友
        随着Internet技术的兴起,B/S结构的程序出现得越来越多,在Web上实现统计图表的方法有很多,相对于一般的应用程序实现比较难些。本文主要介绍Web统计图表的实现方法,对各种信息进行统计和分析,为提供决策依据,形象地表现分析结果,让信息用柱状图、折线图和圆饼图等结合数据仓库旋转分析以直观的形式表现出来!我们很多项目中都需要用到图表,查看了网上一些文章,B/S结构中大多使用了MS chart、shortGraph、Aspchart等组件实现,这些组件大多都是国外软件公司开发的,且需要Money才行,最终的效果看起来并不怎么样(个人觉得),并且有很一些缺点,如MS chart客户端得装有Office才行,否则无法使用。另外还有一些使用Applet实现的,如Java chart工具包,这个工具包是Java写的,适用于支持Java Applet的浏览器,如果不用Java的话,一般的应用程序很难使用它们。
    本文就提供一统计图表解决方案给你,当然你完全可以用于所有支持ActiveX的地方,不只是Web中。看完本文,我想你也能通过ASP、VBScript、Javascript来完成统计图表。最重要的是你可以写上 Copyright(C),yourcompany...,客户端让浏览器自动下载注册,无需安装。
     下面就用Delphi简单的开发一个可以在浏览器上生成统计图表的ActiveX(用BCB开发是一样的,只是代码有点点不同而已):
    首先,打开Delphi,通过菜单File->new,在New items中选取Acitvex Form,在AcitveForm winzard中New AcitveX Name输入自定名: 如Mychart,下面的选项可以根据需要自行选定,这里只选取Include AboutBox, 这样delphi会自动生成一个关于对话框。 在Mychart窗口中放置一个Tchart组件,Tchart增加一个Bar形的Series,具体的情况可以自行设定,本文只做简单的介绍, 建议用方法动态生成Series。
    在菜单view->Type Libary ,这里分别添加两个方法:
 Add_data和Clear_data,作用分别是添加数据和清除数据。
 Add_data方法中添加两个参数(ANum,类型:double, AName,类型:BSTR, Modifier 都设为in)
 代码如下:
 
   procedure TMychart.Add_data(ANum:Double;const AName:WideString);
   begin
         Series1.Add(ANum,AName,clteeColor);
   end;
 
   procedure TMychart.Clear_data;
   begin
         Series1.clear;
   end;
 
 设置一下Aboutbox,在Mychart窗口中加入一个TPopupMenu,用户弹出菜单看到关于对话框。 添加一个Menuitem设置Caption:="关于(&A)...", onclick代码如下:
    procedure TMychart.PM_AboutClick(sender:TObject);
    begin
          showMychartAbout;
    end;
  作用是显示关于对话框然后设置TChart的PopupMenu设置为加个的TPopupMenu就可以了!
 如果工程名没有更改的,编译一下生成MychartProj1.ocx,注册这个控件就可以使用了。
对于浏览器,可以用下面方法让其它自动注册它:
 Delphi中通过Project->Web Deloyment Options设置Web发布选项,简单设置如下:
  Target dir:  c:/document and settings/administrator/桌面/chart/html
  Target URL:  .
  Html dir  :  c:/document and settings/administrator/桌面/chart/html
然后通过菜单 project -> web Deploy 在 c:/document and settings/administrator/桌面/chart/html 目录下生成两个文件,一个html,另一个ocx文件。
  这里更改一下HTML文件加上个ID=mychart1,后面加些VBScript代码,如下:
 <HTML>
  <H1> Delphi 5 AcitveX Test Page </H1> <P>
  You should see you Delphi 5 forms or controls embedded in the form below
<HR><center><P>
<OBJECT id=mychart1
  classid="clsid:B977D48F1-4DDA-4F00-9781-EC7BA3278CBD"
  codebase=" ./MychartProj1.oxc#version=1,0,0,0"
  width=538
  height=350
  align=center
  hspace=0
  vspace=0
>
</OBJECT>
<script language=VBScript>
    mychart1.Add_data 110,"1月"
    mychart1.Add_data 180,"2月"
    mychart1.Add_data 120,"3月"
    mychart1.Add_data 100,"4月"
    mychart1.Add_data 80,"5月"
    mychart1.Add_data 90,"6月"
    mychart1.Add_data 110,"7月"
    mychart1.Add_data 109,"8月"
    mychart1.Add_data 108,"9月"
    mychart1.Add_data 78,"10月"
    mychart1.Add_data 99,"11月"
    mychart1.Add_data 101,"12月"
</script>
 
保存后再用浏览器打开HTML文件, 怎么样?这个Chart还行吧!
然后打开VB再试试,代码与上面的VBS一样.
 
在ASP中使用和HTML类似,你可通过ASP取出数据,然后使用Add_data方法。
 
Delphi中的Chart功能非常强大,你完全可以开发适合自己需要的统计图表控件,上面只是一个简简单单的示例。

web开发中常用的几种统计图使用

最近,笔者结合自己在公司项目使用统计图的经验以及自己的研究,对地图统计、柱形图统计、饼图统计以及折线图统计这几种常用的统计作以归纳。主要使用到的js框架是highstock.js,一种完全基于java...
  • qiyongkang520
  • qiyongkang520
  • 2015年11月14日 15:22
  • 2616

web统计图表(asp.net+c#)(转)

在Web程序开发中,图形和图表是很好的数据表现形式。往往是表格中的大量数据让用户产生无法处理,无从获取所需要的信息。而以图表方式提供数据的话就可以达到简单清爽,简单易懂并且一目了然的效果。利用图表,管...
  • huwei2003
  • huwei2003
  • 2009年03月12日 15:47
  • 10305

企业级 Web 网站安全解决方案揭秘

在 3 月 10 日举办的阿里云网站热点研讨会上,阿里云资深安全业务架构师蕴藉就网站 Web 应用的安全性及业务可用性进行了一系列细致的讲解和介绍,接下来我们就来共同了解一下他分享的内容。 以下...
  • yushengjun_644
  • yushengjun_644
  • 2017年08月04日 19:59
  • 2495

WEB高并发解决方案

一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站...
  • black_OX
  • black_OX
  • 2012年06月24日 16:38
  • 3900

PHP计算时间,统计图表

前言 因为公司有多个APP,需求计算出每个APP的安装量,在图表中显示出来 首先查出数据,这里借用下ThinkPHP5.0的语法$data = db("table") -> select();...
  • weixin_40810287
  • weixin_40810287
  • 2017年10月27日 11:36
  • 157

统计图表--第三方开源--MPAndroidChart(一)

效果图1: 效果图2:   MPAndroidChart是在Android平台上开源的第三方统计图表库,可以绘制样式复杂、丰富的各种统计图表,如一般常见的折线图、饼状图、柱状图、散点图、...
  • xzylx1
  • xzylx1
  • 2015年12月28日 12:04
  • 444

《精通CSS:高级Web标准解决方案》学习过程--V

第九章:bug 在这个行当,bug,这个人见人爱的东西,人人都见过,那么你有没有系统的学过,不是记下所有的bug以及相应的处理方法(我是记不住),那么追究产生bug的原因就显得很重要了。其实css不...
  • onealcsh126
  • onealcsh126
  • 2016年04月26日 15:02
  • 369

解放思想,Web打印终极解决方案

不写博客已经好多年,最近在做一些使用到报表方面的一些项目,涉及到比较麻烦的一些事情就是Web的打印,就这个问题做过很多这方面的资料查阅,网络上各种打印插件到处都有,国内外都有很多,收费的不收费的,对一...
  • xinyulou
  • xinyulou
  • 2014年03月23日 21:47
  • 3888

Web 安全解决方案一览

Web 安全解决方案一览发布日期: 11/29/2004 | 更新日期: 11/29/2004查看全部的安全性指南主题Microsoft Corporation在本单元中本单元包括一个总结了在提高 W...
  • Aimar168
  • Aimar168
  • 2004年12月10日 15:45
  • 976

web前端js绘制统计图表,访问数据库

现在有很多js库可以方便地在web客户端绘制出漂亮的统计图表,显示效果和开发易用性并不亚于在JSP Server端使用诸如JFreeChart组件生成图片流传递到客户端。      一般要求浏览器支持...
  • fall10
  • fall10
  • 2015年08月18日 23:09
  • 2133
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Web统计图表解决方案
举报原因:
原因补充:

(最多只允许输入30个字)