关于利用Flex lineChart绘制类似win系统下资源管理器时序图的例子
来源:互联网 发布:网络算命软件下载 编辑:程序博客网 时间:2024/06/11 19:44
最近因为项目需要,需要实现linechart下的数据及时推进效果,类似win系统中监控cup资源的折线图效果,推进方向是从右到左,后来又扩展了从左到右边的方式,具体见代码。
从右边到左边的推荐,样式没有改进,撮合看了。
<?xml version="1.0"?>
<!-- Simple example to demonstrate the LineChart and AreaChart controls. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.charts.series.items.LineSeriesItem;
import mx.charts.HitData;
import mx.charts.chartClasses.Series;
import mx.collections.ArrayCollection;
[Bindable]
private var expensesAC:ArrayCollection = new ArrayCollection();
private var num:int = 0;
private function dataTipFunction(item:HitData):String
{
var LCI:LineSeriesItem = item.chartItem as LineSeriesItem;
return LCI.item.profit;
}
/**
* 从右边到左边生成时序图逻辑
**/
private function rightLineHandler(event:TimerEvent):void
{
var obj:Object = new Object();
obj.Month = 99 + num;
obj.Amount = 25 + (Math.random() * 50);
expensesAC.addItem(obj);
if(num > 0)
{
//循环将系列数据中的x轴递减1
for each(var item:Object in expensesAC)
{
item.Month = Number(item["Month"]) -1;
}
num = 2;
return;
}
num += 1;
}
private function init():void
{
var timer:Timer = new Timer(1000, 10000);
timer.addEventListener(TimerEvent.TIMER, rightLineHandler);
timer.start();
}
]]>
</mx:Script>
<!-- Define custom colors for use as fills in the AreaChart control. -->
<mx:SolidColor id="sc1" color="blue" alpha=".2"/>
<mx:SolidColor id="sc2" color="red" alpha=".2"/>
<mx:SolidColor id="sc3" color="green" alpha="1"/>
<mx:SeriesInterpolate id="interpolateIn" duration="1000"/>
<!-- Define custom Strokes. -->
<mx:Stroke id = "s1" color="blue" weight="1"/>
<mx:Stroke id = "s2" color="red" weight="1"/>
<mx:Stroke id = "s3" color="green" weight="2"/>
<mx:Stroke id="ticks" color="0xFF0000" weight="1"/>
<mx:Stroke id="mticks" color="0x0000FF" weight="1"/>
<mx:SeriesSlide id="downSlide" duration="1000" direction="up"/>
<mx:Panel title="LineChart and AreaChart Controls Example"
height="100%" width="100%" layout="horizontal">
<mx:LineChart id="linechart" height="100%" width="100%"
paddingLeft="5" paddingRight="5"
showDataTips="true" dataProvider="{expensesAC}">
<mx:horizontalAxis>
<mx:LinearAxis interval="100" displayName="Month" maximum="100" minimum="0"/>
</mx:horizontalAxis>
<mx:series>
<mx:LineSeries yField="Amount" xField="Month" radius="5"
displayName="Amount" fill="{sc3}" lineStroke="{s3}">
</mx:LineSeries>
</mx:series>
</mx:LineChart>
<mx:Legend dataProvider="{linechart}"/>
</mx:Panel>
</mx:Application>
2.从左到右边的方式
<?xml version="1.0"?>
<!-- Simple example to demonstrate the LineChart and AreaChart controls. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.charts.series.items.LineSeriesItem;
import mx.charts.HitData;
import mx.charts.chartClasses.Series;
import mx.collections.ArrayCollection;
[Bindable]
private var expensesAC:ArrayCollection = new ArrayCollection();
private var num:int = 0;
private function dataTipFunction(item:HitData):String
{
var LCI:LineSeriesItem = item.chartItem as LineSeriesItem;
return LCI.item.profit;
}
/**
* 从左边到右边生成时序图逻辑
**/
private function leftLineHandler(event:TimerEvent):void
{
//判断缓存中已经存在的字段数量是否达到最大值10个,如果是则先删除原先的字段
if(expensesAC.length > 100)
{
expensesAC.removeItemAt(0);
//循环将系列数据中的x轴递减1
for each(var item:Object in expensesAC)
{
item.Month = Number(item["Month"]) -1;
}
num = 100;
}
var obj:Object = new Object();
obj.Month = 99 + num;
obj.Amount = 25 + (Math.random() * 50);
expensesAC.addItem(obj);
num += 1;
}
private function init():void
{
var timer:Timer = new Timer(1000, 10000);
timer.addEventListener(TimerEvent.TIMER, leftLineHandler);
timer.start();
}
]]>
</mx:Script>
<!-- Define custom colors for use as fills in the AreaChart control. -->
<mx:SolidColor id="sc1" color="blue" alpha=".2"/>
<mx:SolidColor id="sc2" color="red" alpha=".2"/>
<mx:SolidColor id="sc3" color="green" alpha="1"/>
<mx:SeriesInterpolate id="interpolateIn" duration="1000"/>
<!-- Define custom Strokes. -->
<mx:Stroke id = "s1" color="blue" weight="1"/>
<mx:Stroke id = "s2" color="red" weight="1"/>
<mx:Stroke id = "s3" color="green" weight="2"/>
<mx:Stroke id="ticks" color="0xFF0000" weight="1"/>
<mx:Stroke id="mticks" color="0x0000FF" weight="1"/>
<mx:SeriesSlide id="downSlide" duration="1000" direction="up"/>
<mx:Panel title="LineChart and AreaChart Controls Example"
height="100%" width="100%" layout="horizontal">
<mx:LineChart id="linechart" height="100%" width="100%"
paddingLeft="5" paddingRight="5"
showDataTips="true" dataProvider="{expensesAC}">
<mx:horizontalAxis>
<mx:LinearAxis interval="100" displayName="Month" maximum="100" minimum="0"/>
</mx:horizontalAxis>
<mx:series>
<mx:LineSeries yField="Amount" xField="Month" radius="5"
displayName="Amount" fill="{sc3}" lineStroke="{s3}">
</mx:LineSeries>
</mx:series>
</mx:LineChart>
<mx:Legend dataProvider="{linechart}"/>
</mx:Panel>
</mx:Application>
- 关于利用Flex lineChart绘制类似win系统下资源管理器时序图的例子
- flex使用lineChart和DateTimeAxis实现时序图
- 绘制LineChart线形图
- ubuntu中给系统监视器(相当于win下的资源管理器)增加快捷键
- Flex中的LineChart的使用
- android 绘制折线图(AChartEngine)Linechart静态的
- 关于WIN 7 资源管理器突然停止的问题及解决方法
- flex - lineChart
- flex--LineChart
- Flex中如何通过lineStroke样式改变LineChart图表线条颜色的例子
- 关于Lt分发系统的时序图分析
- 时序图的绘制—使用Gnuplot
- 绘制Android软件的UML时序图
- Flex中LineChart自动生成线形图
- Flex 折线图LineChart, 坐标轴偏移
- Visio绘制时序图
- Visio绘制时序图
- Visio绘制时序图
- iText的简单应用
- 命名方法配置
- BomGroupDaoImpl
- maximo如何自动发送工作流
- 在PHP里Cookie的使用是有一些限制的。
- 关于利用Flex lineChart绘制类似win系统下资源管理器时序图的例子
- 使用和配置共享服务器连接进程
- 用js实现IBM100年庆徽标竞猜功能
- GZIP, ZLIB, DEFLATE, 文件格式
- 运动物体检测的问题
- java File读写大全
- oracle常用查询
- Java/JSP中文乱码问题解决心得(转)
- STL容器:deque