as3画饼图

上大饼图 //PS:大饼可以鼠标点击看效果
代码如下:
/**
* @class:DrawPieGraph(画饼状图)
* @author:ycccc8202
* @date:2007.8.16
* @example:
* import com.ycccc.Graphics.*;
* var dataList:Array=[10,10,10,100,10,10,10,100];
* var pie:DrawPieGraph=new DrawPieGraph(200,200,150,90,15,dataList,[0xFF0F00,0xFF6600,0xFF9E01,0xFCD202,0xF8FF01,0xB0DE09,0x04D215,0x0D8ECF],.7);
* addChild(sprite);
*/
package com.ycccc.Graphics{
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.display.Shape;
import flash.display.Graphics;
import flash.events.MouseEvent;
public class DrawPieGraph extends MovieClip {
  
  //存放shape对象
  private var __contain:Object;
  //设置角度从-90开始
  private var R:int=-90;
  private var D:uint=20;
  private var _shape:Shape;
  //初始饼图的圆心位置
  private var _x0:Number;
  private var _y0:Number;
  //椭圆饼图的长轴与短轴长度
  private var _a:Number;
  private var _b:Number;
  //饼图的厚度
  private var _h:Number;
  //透明度
  private var _alpha:Number
  //数据列表
  private var _dataList:Array;
  private var _colorList:Array;
  private var _angleList:Array;
  private var _depthList:Array;
  //
  /**
  *@param:x0......>圆心x坐标
  *@param:y0......>圆心y坐标
  *@param:a......>长轴
  *@param:b......>短轴
  *@param:h......>厚度
  *@param:dataList......>数据列表
  *@param:dataList......>颜色列表
  *@alpha:Number......>透明度,默认为1.0
  */
  public function DrawPieGraph(x0:Number,y0:Number,a:Number,b:Number,h:Number,dataList:Array,colorList:Array,alpha:Number=1.0) {
   _x0=x0;
   _y0=y0;
   _a=a;
   _b=b;
   _h=h;
   _alpha=alpha
   
   _dataList=dataList;
   _colorList=colorList;
   setAngleList();
   drawPie();
   setDepths();
  }
  private function setAngleList():void {
   _angleList=[];
   var totalData:int;
   var len:uint=_dataList.length;
   for (var j:uint=0; j 
本文转自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/1956.html
为了画饼和折线,我们可以使用 Vue3 中的一些可视化库,如 Vue-chartjs、Echarts 和 Highcharts。 1. 使用 Vue-chartjs 画饼: Vue-chartjs 是一个基于 Chart.js 的 Vue.js 可视化组件库。它可以很容易地为 Vue 应用程序添加各种表和形。 首先,我们需要安装 Vue-chartjs: ``` npm install vue-chartjs chart.js ``` 然后,我们可以创建一个继承自 VueChartJs.Pie 类的组件来画饼: ```vue <template> <pie-chart :data="chartData" :options="chartOptions"></pie-chart> </template> <script> import { Pie, mixins } from &#39;vue-chartjs&#39;; export default { extends: Pie, mixins: [mixins.reactiveProp], props: [&#39;chartData&#39;, &#39;chartOptions&#39;], mounted() { this.renderChart(this.chartData, this.chartOptions); } } </script> ``` 在这个组件中,我们使用了 VueChartJs.Pie 类来定义一个继承自 Pie 类的组件。我们还使用了 mixins.reactiveProp 混合,以便我们可以在 prop 中将数据和选项传递给表组件。最后,我们在 mounted 钩子中调用 renderChart 方法来渲染表。 接下来,我们可以在父组件中使用这个饼状图组件: ```vue <template> <pie-chart :chart-data="chartData" :chart-options="chartOptions"></pie-chart> </template> <script> import PieChart from &#39;./PieChart.vue&#39;; export default { components: { PieChart }, data() { return { chartData: { labels: [&#39;A&#39;, &#39;B&#39;, &#39;C&#39;], datasets: [{ data: [10, 20, 30], backgroundColor: [&#39;#FF6384&#39;, &#39;#36A2EB&#39;, &#39;#FFCE56&#39;], hoverBackgroundColor: [&#39;#FF6384&#39;, &#39;#36A2EB&#39;, &#39;#FFCE56&#39;] }] }, chartOptions: { responsive: true, maintainAspectRatio: false } } } } </script> ``` 在这个父组件中,我们将数据和选项作为 prop 传递给饼状图组件。我们还定义了一个 chartData 对象,其中包含了我们要显示的数据和样式。 2. 使用 Echarts 画折线: Echarts 是一个基于 JavaScript 的可视化库,它提供了各种表和形,包括折线、柱状饼状图等等。 首先,我们需要安装 Echarts: ``` npm install echarts ``` 然后,我们可以创建一个继承自 ECharts 组件的组件来画折线: ```vue <template> <div ref="chart" style="height: 300px;"></div> </template> <script> import * as echarts from &#39;echarts&#39;; export default { props: [&#39;chartData&#39;, &#39;chartOptions&#39;], mounted() { const chart = echarts.init(this.$refs.chart); chart.setOption(this.chartOptions); chart.setOption({ xAxis: { type: &#39;category&#39;, data: this.chartData.labels }, yAxis: { type: &#39;value&#39; }, series: [ { data: this.chartData.datasets[0].data, type: &#39;line&#39;, symbolSize: 10, lineStyle: { color: &#39;#FF6384&#39; }, itemStyle: { color: &#39;#FF6384&#39; } } ] }); } } </script> ``` 在这个组件中,我们首先在 mounted 钩子中使用 echarts.init 方法创建一个表实例,并将其绑定到 div 元素上。然后,我们使用 setOption 方法设置表的选项和数据。我们还将数据和选项作为 prop 传递给组件,并在 setOption 方法中使用它们来配置表。 接下来,我们可以在父组件中使用这个折线组件: ```vue <template> <line-chart :chart-data="chartData" :chart-options="chartOptions"></line-chart> </template> <script> import LineChart from &#39;./LineChart.vue&#39;; export default { components: { LineChart }, data() { return { chartData: { labels: [&#39;A&#39;, &#39;B&#39;, &#39;C&#39;, &#39;D&#39;, &#39;E&#39;, &#39;F&#39;, &#39;G&#39;], datasets: [{ data: [10, 20, 30, 25, 15, 5, 20], }] }, chartOptions: { responsive: true, maintainAspectRatio: false } } } } </script> ``` 在这个父组件中,我们将数据和选项作为 prop 传递给折线组件。我们还定义了一个 chartData 对象,其中包含了我们要显示的数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值