快捷搜索:

利用vml制作统计图全攻略----饼图的制作 (三)

4. VMLPie.prototype.CreatePie

CreatePie供给了一个参数,也便是饼图制作的容器,我们经由过程Draw的上述代码已经建立了一个V:Group元素,这个也便是饼图绘制的容器了。

var mX=Math.pow(2,16) * 360;

//这个参数是划图形的关键

//AE x y width height startangle endangle

//x y表示圆心位置

//width height外形的大年夜小

//startangle endangle的谋略措施如下

// 2^16 * 度数

var vTotal=0;

var startAngle=0;

var endAngle=0;

var pieAngle=0;

var prePieAngle=0;

//谋略数据的总和

for(i=0;i

1F

9";

objLegendRect.strokeweight=1;

with(objLegendRect){

//设置为21600,21600,便是包管完全覆盖group客户区

style.width="21600px";

style.height="21600px";

}

//对付图例加入阴影

var vShadow=document.createElement("v:shadow");

vShadow.on="t";

vShadow.type="single";

vShadow.color="graytext";

vShadow.offset="4px,4px";

objLegendRect.appendChild(vShadow);

//将其放到图例的容器中

objLegendGroup.appendChild(objLegendRect);

this.LegendObject=objLegendGroup;vGroup.appendChild(objLegendGroup);

这个时刻,我们已经完成了各个区域位置的绘制,经由过程如上的代码,我绘制了一个LegendGroup,将其作为图例的显示位置,别的主的V:group就作为pie的绘制容器,假如出于规范的斟酌,也应该将Pie的各个shape放到一个group中,那样在日后的编程节制中会加倍方便一点。

下面的这段代码也便是我要讲述的,由于代码对照关键,除了给出代码,我还着重的阐明各个语句的感化。

for(i=0;i" + this.all[i].Name +"("+ this.all[i].Value+")

v:textbox>";

objLegendGroup.appendChild(colorTip);

objLegendGroup.appendChild(textTip);

vGroup.appendChild(vPieEl);

}

您可能还会对下面的文章感兴趣: