技术开发 频道

一种利用dojo动态创建图形报表的方法

  【IT168 技术】web2.0时代的到来,使得互联网进入全民互动时代。它所提倡的理念是:“技术是根,用户体验为本”,用户体验的重要性可见一斑。

  而提升用户体验,我们就不得不提一下dojo。它是一款功能强大的javascript库,可以方便、快捷地帮助我们创建外观漂亮、功能强大的图形报表(包括:饼图、柱形图和曲线图等等)。

  一、背景

  目前,怎么样用dojo创建饼图、柱形图和曲线图等等,类似这样的文章,在网上已经非常多。他们大部分介绍的是各种图形的使用方法,数据大都也是静态采集(比如:销售报表视图、开支报表视图等)。在本文中,主要和大家分享一种方法:怎么样用dojo动态创建图形报表?比如:动态控制柱形图X轴显示的内容、格式和样式等。

  本文先回顾一下创建柱形图的基本方法,然后以此为切入点,介绍一下怎么样动态地创建图形报表。本文会以柱形图为例进行介绍,其它类型的图形以此类推。

  二、基本用法

  在本节,先回顾一下dojo创建柱形图的基本方法。

  柱形图有以下三种类型:

  Columns:垂直条,如图1 所示

  ClusteredColumns:带有聚簇数据集的垂直条,如图2 所示

  StackedColumns:带有垂直条的堆叠数据集,如图3 所示

一种利用dojo动态创建图形报表的方法
▲图1 Columns类型

一种利用dojo动态创建图形报表的方法
▲图2 ClusteredColumns类型

一种利用dojo动态创建图形报表的方法
▲图3 StackedColumns类型

  这些图形是怎么创建出来的呢?下面,我们一起来看一下它的使用方法。

  引入相关的依赖包

  由于dojo默认情况下是不会自动引入图形报表依赖包的,因此我们需要自己 手动引入。需要引入的依赖包如下:

dojo.require("dojox.charting.Chart2D");
dojo.require(
"dojox.charting.themes.Claro");
dojo.require(
"dojox.charting.action2d.Highlight");

  创建图形对象

  1.创建一个<div>元素,用于放置图形对象

<div id="demo"style="width:780px;
height:420px;
"></div>

  2.根据<div>的id创建图形对象

var chart=new
dojox.charting.Chart2D(
"demo",{title:"Demo" });

  设置该对象的相关属性

  1.添加plot,代码如下所示:

chart.addPlot("default",{
type:
"Columns", //用于指定图形的类型
gap:8, //指定每个柱形图之间的间隔
markers: true, //是否显示刻度
animate:{duration: 1000},//定义柱形图的动态效果
});

  2.设置x轴的属性和要显示的标签

chart.addAxis("x", {labels:[{value: 1, text: "Mon."},
{value:
2, text: "Tues."},
{value:
3, text: "Wed."},
{value:
4, text: "Thurs."},
{value:
5, text: "Fri."},
{value:
6, text: "Sat."},
{value:
7, text: "Sun."}]});

  3.设置y轴的属性

chart.addAxis("y", { includeZero: true,
vertical:
true,});

  4.设置x轴每个标签对应的数据,其中fill表示柱形以什么颜色填充

  呈现图形

chart.addSeries("A",[15,25,45,45,65,75,55],
{fill:
"green"});

  当对象创建完成,且所有的属性都已经设置好后,就可以调用如下方法把设 置好的图形呈现出来,如图3.1所示:

chart.render();
5
相关文章