自己写了个简易的flex立状体图,效果如下:
flex:testSolidChart.mxml
<?xml version="1.0"?> <!-- Simple example to demonstrate the ColumnChart and BarChart controls. --> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:local="*"> <fx:Script> <![CDATA[ import mx.charts.events.ChartItemEvent; import mx.charts.series.items.ColumnSeriesItem; import mx.collections.ArrayCollection; import mx.controls.Alert; [Bindable] private var medalsAC:ArrayCollection = new ArrayCollection( [ { Country: "USA", Gold: 35, Silver:39, Bronze: 29 }, { Country: "China", Gold: 32, Silver:17, Bronze: 14 }, { Country: "Russia", Gold: 27, Silver:27, Bronze: 38 } ]); protected function custTypeChart_itemClickHandler(event:ChartItemEvent):void { var psi:ColumnSeriesItem= event.hitData.chartItem as ColumnSeriesItem; var po:ColumnSeries = psi.element as ColumnSeries; Alert.show(psi.item.Gold+"--"+po.fillc); } ]]> </fx:Script> <fx:Declarations> <mx:SolidColor id="sc1" color="yellow" alpha=".8"/> <mx:SolidColor id="sc2" color="0xCCCCCC" alpha=".6"/> <mx:SolidColor id="sc3" color="0xFFCC66" alpha=".6"/> <mx:SolidColorStroke id="s1" color="yellow" weight="2"/> <mx:SolidColorStroke id="s2" color="0xCCCCCC" weight="2"/> <mx:SolidColorStroke id="s3" color="0xFFCC66" weight="2"/> </fx:Declarations> <mx:Panel title="ColumnChart and BarChart Controls Example" height="100%" width="100%" layout="horizontal"> <mx:ColumnChart id="column" height="100%" width="100%" paddingLeft="5" paddingRight="5" showDataTips="true" dataProvider="{medalsAC}" showLabelVertically="true" itemClick="custTypeChart_itemClickHandler(event)" > <mx:horizontalAxis> <mx:CategoryAxis categoryField="Country" /> </mx:horizontalAxis> <mx:series> <local:ColumnSeries xField="Country" yField="Gold" displayName="Gold" fill="{sc1}" stroke="{s1}" fillc="0x00CC66" itemRenderer="solid2Skin" /> <local:ColumnSeries xField="Country" yField="Silver" displayName="Silver" fill="{sc2}" stroke="{s2}" fillc="0xaa0066" itemRenderer="solid2Skin" /> <local:ColumnSeries xField="Country" yField="Bronze" displayName="Bronze" fill="{sc3}" stroke="{s3}" fillc="0xDDCCAA" itemRenderer="solid2Skin" /> </mx:series> </mx:ColumnChart> <mx:Legend dataProvider="{column}"/> </mx:Panel> </s:Application>
Flex:ColumnSeries.mxml
<?xml version="1.0" encoding="utf-8"?> <mx:ColumnSeries xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"> <fx:Script> <![CDATA[ public var _fillc:uint = 0xff00ff; public function get fillc():uint { return _fillc; } public function set fillc(value:uint):void { _fillc = value; } ]]> </fx:Script> </mx:ColumnSeries>
Flex:solid2Skin.as
package { import flash.geom.Point; import mx.charts.series.items.ColumnSeriesItem; import mx.core.IDataRenderer; import mx.skins.ProgrammaticSkin; import mx.controls.Alert; public class solid2Skin extends ProgrammaticSkin implements IDataRenderer { private var colors:Array = [0x60cb00,0x6a7a88,0x3698ff,0x66a800,0xff6600,0x655fc8,0xd2691e]; private var _chartItem:ColumnSeriesItem; public function solid2Skin() { super(); } public function get data():Object { return Object(_chartItem); } public function set data(value:Object):void { _chartItem = value as ColumnSeriesItem; // Alert.show((_chartItem==null)+"");//?0:(_chartItem.element as ColumnSeries).fillc+""); invalidateDisplayList(); } override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void { super.updateDisplayList(unscaledWidth,unscaledHeight); this.graphics.clear(); var points:Array = getPoints(unscaledWidth*0.55,unscaledHeight); drawFill(points[4],points[7],points[6],points[5]); drawFill(points[7],points[6],points[2],points[3]); drawFill(points[5],points[1],points[2],points[6]); this.graphics.endFill(); } //根据长宽获取3D坐标信息 function getPoints(w:Number,h:Number):Array { var points:Array = new Array(8); points[0] = new Point(0,h); points[1] = new Point(w,h); points[2] = new Point(w,0); points[3] = new Point(0,0); points[4] = new Point(0-w/2.0,h+w/2.0); points[5] = new Point(0+w/2.0,h+w/2.0); points[6] = new Point(0+w/2.0,0+w/2.0); points[7] = new Point(0-w/2.0,0+w/2.0); return points; } //根据传入的坐标信息,绘制线条及填充绘制区域 function drawFill(...args):void { with(this.graphics) { lineStyle(0.5,0x000000,0.8); beginFill((_chartItem == null)?0x000000:(_chartItem.element as ColumnSeries).fillc,0.95); moveTo(args[0].x,args[0].y); for(var i=1;i<args.length;i++) { lineTo(args[i].x,args[i].y); } } } } }
相关推荐
本项目结合了Flex技术和超图软件iServer Java,旨在实现一个详细的三维地图应用。 首先,我们需要了解Flex的基础。Flex使用MXML和ActionScript来设计和构建用户界面,MXML是一种声明式语言,类似于HTML,用于定义UI...
在给定的资源中,"Flex制作的几款漂亮的立体柱状图饼状图和折线图"显然涉及到Flex的图表组件,这些组件允许开发者创建出具有专业视觉效果的数据可视化应用。 在Flex中,Chart类是用于展示数据的主要组件。它可以...
在本文中,我们将深入探讨如何使用Adobe Flex技术来创建各种柱状图和饼状图。Flex是一个基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA)。通过使用Flex,开发者可以轻松地创建交互式的图形界面...
在这个压缩包中,包含了一系列的Flex Demo,涵盖了不同的图表类型,如柱状图、饼图和折线图,这些都是数据可视化的常用工具。 首先,让我们来详细了解一下Flex中的图表组件。Flex提供了强大的图表组件库,允许...
### Flex绘制饼状图与柱状图的知识点 #### Flex简介 Flex是一种开源的软件框架,主要用于构建跨浏览器、跨平台的应用程序。它基于ActionScript 3.0,支持多种编程语言,包括ActionScript和MXML。Flex拥有丰富的组件...
3D柱状图是一种数据可视化工具,它能有效地展示分类数据的大小或数量,通过在Z轴上增加深度来呈现三维效果,从而提供更丰富的视觉体验。 在Flex中实现3D柱状体图形,主要依赖于Flex的图形渲染和组件库。以下是一些...
本教程将深入讲解如何利用ArcGIS for Flex在地图上显示柱状图、饼状图和折线图,以便于用户更直观地理解地理数据。 首先,我们需要了解ArcGIS for Flex的基本概念。ArcGIS for Flex是一个基于Adobe Flex的开发库,...
在本文中,我们将深入探讨如何使用Adobe Flex技术创建一个具有拖拽功能的柱状图,以及如何实现点击柱状图后弹出图片窗口的功能。Flex是一个开源的、基于ActionScript的框架,主要用于构建富互联网应用程序(RIA)。...
"flex倒立柱状图"是一个特别的图表类型,用于展示数据,它的设计与传统的柱状图相反,柱子从底部向上延伸,而不是从顶部向下。这种类型的图表在某些场景下能够提供独特的视觉效果,例如,当需要强调数据的基线或比较...
基于FLEX4多功能柱状统计图,包括了分组统计图、单项统计图。知识点有:设置坐标轴样式、图例样式、柱子颜色设置、柱子mouseover、click事件等。还包括比较怪异的图例文字大小设置。 这是一个可直接运行的DEMO。...
【标签】:“仿google三维地图”表明了该项目的目标是模仿Google Maps的特性,如卫星图像、地形图和街景视图,而“离线FLEX GIS”则强调了该系统可以在无网络环境下的运行能力。GIS(地理信息系统)是一个关键的组成...
在本案例中,"flex 统计,柱状图,饼图"指的是使用Flex来创建数据可视化工具,具体是柱状图和饼图这两种常见的图表类型。 柱状图是一种统计图表,用于比较类别之间的数量差异。在Flex中,可以使用mx.charts系列类来...
### Flex动态创建多个曲线图和柱形图源码解析 #### 概述 在Adobe Flex框架下,开发者可以通过MXML和ActionScript实现丰富的用户界面和交互功能。在本例中,我们将探讨如何利用Flex来动态地创建多个曲线图和柱形图...
基于Flex的网络三维实景模拟技术的研究与实现.kdh
在Flex中,饼形图(piechart)、柱形图(columnchart)、条形图(barchart)和折线图(linechart)是数据可视化的重要工具,广泛应用于数据分析和展示。 1. **饼形图(PieChart)** 饼形图用于显示部分与整体之间...
根据提供的文件信息,本文将详细介绍如何在Flex4中利用组件添加柱状图、饼状图等图表,并通过示例代码具体展示实现过程。 ### 一、Flex4中的柱状图 #### 1.1 柱状图简介 在Flex4中,柱状图是一种非常常见的数据...
本资源包含的"Flex漂亮的柱状图(ColumnChart)"是一个示例项目,展示了如何在Flex中实现动态效果和颜色变化的柱状图。通过下载并解压提供的"columnChart"压缩包,您可以找到源代码和演示文件。其中,"test.html"是...
在本讨论中,我们将深入探讨如何使用Flex构建柱状图、饼图和折线图,这些都是数据可视化中常见的图表类型,对于数据分析和展示至关重要。 1. **柱状图(Bar Chart)**: 柱状图是用长条的高度或长度来表示数值大小...
在本压缩包文件"Charts"中,我们聚焦于Flex中的统计图表功能,包括饼状图、柱状图和折线图的实例。这些图表是数据可视化的重要工具,帮助用户直观地理解复杂的数据信息。 饼状图在统计学中被广泛用于显示部分与整体...