当前页面: 开发资料首页 → Javascript 专题 → 利用vml制作统计图全攻略----饼图的制作(一)
摘要: 利用vml制作统计图全攻略----饼图的制作(一)
利用vml制作统计图全攻略<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
----饼图的制作         
作者:蓝翼  CSDN账号:liuruhong(蓝色街灯)
电子邮件: liuruhong@263.net   MSN: blueswing_liu@hotmail.com 
关键字: VML Javascript OOP 统计图
提要:
    VML是Microsoft IE 5.0及其后续版本内嵌的矢量图形实现,虽然MS也提倡日后使用SVG,但是作为一个IE内嵌的标记语言,在某些时候的应用还是比较方便的。本文通过完整的描述一个统计饼图的建立过程,来展现VML在Web方面的魅力。文章通过实现一个JavaScript类,读者能够完整地看到整个饼图的制作过程。
    VML(Vector Markup Language)自从问世以来似乎都处于默默无闻的地步,直到现在为止,情况依然没有改变。其实细心的一点你就可以发现,在Web方面,MS得很多产品还是内置使用了,最典型的就是Office的自选图形,将word或者ppt文档存储成html,如果文档内部使用了自选图形,你就可以看到那些图形使用过VML来表述的,另外一个典型的应用就是Visio的导出到web这个工具。
    前段时间,James在CSDN发表了使用ASP生成统计图的例子,我也认真拜读了其中的代码,并且也针对一些问题找他请教了,James的颜色感觉非常好,可惜我没有那样的功底,因此在代码实现中我就使用了随机颜色来实现,可能整体的界面看起来会稍微差劲一点。
    统计图比较典型的是饼图,柱状图,曲线图,本文着重讲解Pie的制作过程,文章采用了JavaScript实现了一个类,如果相关Javascript面向对象不是特别了解的,可以参考我另外的文章《面向对象的Javascript编程》和《再论面向对象的JavaScript编程》。
暂且不考虑如何实现,我们先看看代码最终的使用如何。
objPie=newVMLPie("600px","450px","人口统计图");//初始化宽度,高度,标题
objPie.BorderWidth=3;//图表边框
objPie.BorderColor="blue";//图表边框颜色
objPie.Width="800px";//定义图表宽度
objPie.Height="600px";//定义图表高度
objPie.backgroundColor="#ffffff";//定义背景颜色
objPie.Shadow=true;//是否需要阴影true为是false为不要阴影
//添加图表数据
//顺序为名称,值,描述
objPie.AddData("北京",50,"北京的人口");
objPie.AddData("上海",52,"上海的固定人口");
objPie.AddData("天津",30,"天津的外地人口");
objPie.AddData("西安",58,"西安城市人口");
objPie.AddData("武汉",30,"武汉的外地人口");
objPie.AddData("重庆",58,"重庆城市人口");
result.innerHTML=objPie.Draw();//生成VML数据
这段代码就是最终的调用,我封装了一个VMLPie的JavaScript类,而本文的重点也就是详细地描述类的具体实现过程,另外要使用VML必须作如下的声明。
1. HTML Tag的名字空间声明
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
2. <head>之间的style声明