Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I am also trying this future on my project. Still working on. Below code gives you solution for your problem.</p> <p> </p> <pre><code>&lt;fx:Declarations&gt; &lt;mx:SeriesInterpolate id="interp" elementOffset="10" duration="200" minimumElementDuration="10" /&gt; &lt;mx:SolidColorStroke id="st" color="#92D050" weight="8" /&gt; &lt;/fx:Declarations&gt; &lt;fx:Script&gt; &lt;![CDATA[ import mx.charts.ChartItem; import mx.charts.chartClasses.Series; import mx.charts.series.items.LineSeriesItem; import mx.collections.ArrayCollection; import mx.events.FlexEvent; private var dummyGeneratorTimer:Timer; private var dummyUpdateTimer:Timer; private static const DATA_INTERVAL:int = 600;//8; private static const ARRAY_SIZE:int = 500; private var chartIndex:int = 0; [Bindable] private var chartData:ArrayCollection = new ArrayCollection( [ { Time: 1, parameter1: 2200, parameter2: 1700, parameter3: 1500, parameter4: 1300, parameter5: 1100, parameter6:900 }, { Time: 2, parameter1: 1900, parameter2: 1600, parameter3: 1450, parameter4: 1200, parameter5: 1000, parameter6:800 }, { Time: 3, parameter1: 1900, parameter2: 1700, parameter3: 1500, parameter4: 1300, parameter5: 1100, parameter6:900 }, { Time: 4, parameter1: 1900, parameter2: 1600, parameter3: 1450, parameter4: 1200, parameter5: 1000, parameter6:800 }, { Time: 5, parameter1: 1900, parameter2: 1750, parameter3: 1500, parameter4: 1300, parameter5: 1100, parameter6:900 }, { Time: 5, parameter1: 1900, parameter2: 1600, parameter3: 1400, parameter4: 1200, parameter5: 1000, parameter6:800 }, { Time: 7, parameter1: 1900, parameter2: 1700, parameter3: 1500, parameter4: 1300, parameter5: 1000, parameter6:900 }, { Time: 8, parameter1: 1900, parameter2: 1600, parameter3: 1600, parameter4: 1200, parameter5: 1100, parameter6:800 }, { Time: 9, parameter1: 1900, parameter2: 1800, parameter3: 1400, parameter4: 1300, parameter5: 1000, parameter6:900 }, { Time: 10, parameter1: 1900, parameter2: 1600, parameter3: 1500, parameter4: 1200, parameter5: 1000, parameter6:800 }, { Time: 11, parameter1: 1900, parameter2: 1700, parameter3: 1400, parameter4: 1300, parameter5: 1100, parameter6:900 }, { Time: 12, parameter1: 1900, parameter2: 1600, parameter3: 1400, parameter4: 1200, parameter5: 1000, parameter6:800 }, { Time: 13, parameter1: 1900, parameter2: 1600, parameter3: 1500, parameter4: 1300, parameter5: 1100, parameter6:900 }, { Time: 14, parameter1: 1900, parameter2: 1700, parameter3: 1400, parameter4: 1200, parameter5: 1000, parameter6:800 }, { Time: 15, parameter1: 1900, parameter2: 1600, parameter3: 1500, parameter4: 1300, parameter5: 1100, parameter6:900 }, { Time: 16, parameter1: 1900, parameter2: 1700, parameter3: 1400, parameter4: 1200, parameter5: 1000, parameter6:800 }, { Time: 17, parameter1: 1900, parameter2: 1600, parameter3: 1500, parameter4: 1300, parameter5: 1100, parameter6:900 }]); protected function application1_initializeHandler(event:FlexEvent):void { dummyGeneratorTimer = new Timer(DATA_INTERVAL); // 8 millisecond } private var count:Number = 17; private function populateData(event:TimerEvent):void { var obj:Object = new Object(); obj.Time= (++count).toString(); obj.parameter1= randomRange(1900,1900); obj.parameter2= randomRange(1600,1700); obj.parameter3= randomRange(1400,1500); obj.parameter4= randomRange(1200,1300); obj.parameter5= randomRange(1000,1100); obj.parameter6= randomRange(800,900); chartData.refresh(); chartData.addItem(obj); linechart.width += 10; } private function randomRange(minNum:Number, maxNum:Number):Number { return (Math.round(Math.random() * (maxNum - minNum + 1)) + minNum); } protected function scope_clickHandler(event:MouseEvent):void { if(scopeBtn.label == 'Scope1'){ scopeBtn.label = 'Stop Scope'; dummyGeneratorTimer.addEventListener(TimerEvent.TIMER, populateData,false,0,true); dummyGeneratorTimer.start(); } else{ scopeBtn.label = 'Scope1'; dummyGeneratorTimer.stop(); dummyGeneratorTimer.removeEventListener(TimerEvent.TIMER, populateData,false); } } private var activeSeries:LineSeries; private var activePoint:LineSeriesItem; /* protected function linechart_itemMouseMoveHandler(event:ChartItemEvent):void { // TODO Auto-generated method stub if(event.hitData &amp;&amp; event.hitData.element is LineSeries){ activeSeries = event.hitData.element as LineSeries; activePoint = (event.hitData.chartItem as LineSeriesItem); var tmpArr:Array = activeSeries.dataTransform.invertTransform(linechart.mouseX, linechart.mouseY); for(var i:int=0;i&lt;tmpArr.length;i++){ trace("i:"+tmpArr[i]); } } }*/ private function dataTipHandler(event:MouseEvent):void { var leftPoint:Point = new Point(linechart.mouseX,0); //leftPoint = event.target.localToGlobal(leftPoint); //leftPoint = linechart.localToContent(leftPoint); //var rightPoint:Point = new Point(chart.mouseX,0); var leftArr:Array = lineSeries.localToData(leftPoint); var series:Series; var item:ChartItem; for each(var s:Series in linechart.series){ // initialize/empty dataTipItems of all series. s.dataTipItems = []; series = s; item = series.items[leftArr[0]-3]; if(item != null) series.dataTipItems.push(item); } linechart.showAllDataTips = true; } ]]&gt; &lt;/fx:Script&gt; &lt;s:Button id="scopeBtn" label="Scope1" click="scope_clickHandler(event)"/&gt; &lt;!--&lt;s:Button id="update" label="update" click="update_clickHandler()"/&gt;--&gt; </code></pre> <p> &lt;/s:layout>--> </p> <pre><code> &lt;s:layout&gt; &lt;s:HorizontalLayout horizontalAlign="right" paddingLeft="10" paddingRight="10" paddingTop="10" paddingBottom="10"/&gt; &lt;/s:layout&gt; &lt;!--&lt;s:HSlider change="drawData()" liveDragging="true" value="50" id="quadBoundary" minimum="-200" maximum="200" width="100%" /&gt; --&gt; &lt;mx:LineChart id="linechart" color="0xffffff" height="100%" width="100%" cacheAsBitmap="true" cachePolicy="on" showDataTips="true" dataProvider="{chartData}" fontFamily="Arial" fontSize="20" seriesFilters="[]" gutterLeft="40" gutterTop="0" paddingTop="0" dataTipRenderer="MyDataTip" mouseMove="dataTipHandler(event)"&gt; &lt;!-- mouseSensitivity="20" dataTipMode="multiple" showAllDataTips="false" itemMouseDown="linechart_itemMouseMoveHandler(event)" --&gt; &lt;mx:backgroundElements&gt; &lt;mx:GridLines id="gridLines" gridDirection="vertical" cacheAsBitmap="true" cachePolicy="on" verticalTickAligned="true"&gt; &lt;!--verticalChangeCount="1"--&gt; &lt;mx:verticalStroke&gt; &lt;s:SolidColorStroke color="0xffffff" weight="0" alpha="0.5" /&gt; &lt;/mx:verticalStroke&gt; &lt;!-- &lt;mx:horizontalStroke&gt; Set alpha to 0 so stroke isn't visible. &lt;mx:SolidColorStroke color="0x000000" weight="0" alpha="0.0" /&gt; &lt;/mx:horizontalStroke&gt; &lt;mx:horizontalFill&gt; &lt;mx:SolidColor color="0x000000" alpha="0.1" /&gt; &lt;/mx:horizontalFill&gt;--&gt; &lt;/mx:GridLines&gt; &lt;!--&lt;dataShapes:DataDrawingCanvas id="canvas" includeInRanges="true"/&gt; </code></pre> <p>--> --> </p> <pre><code> &lt;mx:horizontalAxis&gt; &lt;!--&lt;mx:LinearAxis id="h1" autoAdjust="true"/&gt;--&gt; &lt;mx:CategoryAxis id="h1" categoryField="Time"/&gt; &lt;!--&lt;mx:DateTimeAxis id="h1" autoAdjust="true" displayLocalTime="true" interval="11" /&gt;--&gt; &lt;/mx:horizontalAxis&gt; &lt;mx:verticalAxis&gt; &lt;mx:LinearAxis id="v1" baseAtZero="false" autoAdjust="false" alignLabelsToInterval="false"/&gt; &lt;/mx:verticalAxis&gt; &lt;mx:verticalAxisRenderers&gt; &lt;mx:AxisRenderer placement="right" axis="{v1}" showLine="true" showLabels="true" visible="true"/&gt; &lt;/mx:verticalAxisRenderers&gt; &lt;!-- horizontal axis renderer --&gt; &lt;mx:horizontalAxisRenderers&gt; &lt;mx:AxisRenderer axis="{h1}" minorTickPlacement="none" minorTickLength="3" canDropLabels="false"&gt; &lt;mx:minorTickStroke&gt; &lt;s:SolidColorStroke color="#BBCCDD" weight="2"/&gt; &lt;/mx:minorTickStroke&gt; &lt;/mx:AxisRenderer&gt; &lt;!-- &lt;charts:ScrollableAxisRenderer axis="{h1}" id="scrollAxis" tickPlacement="none" placement="bottom" labelGap="3" scrollBarThemeColor="blue" /&gt; --&gt; &lt;/mx:horizontalAxisRenderers&gt; &lt;mx:series&gt; &lt;!-- &lt;mx:LineSeries yField="parameter1" showDataEffect="{interp}" form="step" sortOnXField="false" displayName="Parameter1" verticalAxis="{v1}" horizontalAxis="{h1}" cacheAsBitmap="true" cachePolicy="on" itemRenderer="mx.charts.renderers.CircleItemRenderer" radius="5"&gt; &lt;mx:lineStroke&gt; &lt;s:SolidColorStroke color="#C05046" weight="3" alpha="0.9" /&gt; &lt;/mx:lineStroke&gt; &lt;/mx:LineSeries&gt;--&gt; &lt;components:MyLineSeries id="lineSeries" xField="Time" yField="parameter1" displayName="parameter1" form="segment" showDataEffect="{interp}" verticalAxis="{v1}" horizontalAxis="{h1}" cacheAsBitmap="true" cachePolicy="on" lineStroke="{st}" itemRenderer="mx.charts.renderers.ShadowBoxItemRenderer"&gt; &lt;components:lineSegmentRenderer&gt; &lt;fx:Component&gt; &lt;dashedLine:DashedLineRenderer pattern="[20,20,5,20]"/&gt; &lt;/fx:Component&gt; &lt;/components:lineSegmentRenderer&gt; &lt;/components:MyLineSeries&gt; &lt;mx:LineSeries xField="Time" yField="parameter2" showDataEffect="{interp}" form="curve" displayName="Parameter2" verticalAxis="{v1}" horizontalAxis="{h1}" cacheAsBitmap="true" cachePolicy="on" itemRenderer="mx.charts.renderers.CircleItemRenderer"&gt; &lt;mx:lineStroke&gt; &lt;s:SolidColorStroke color="#036CBA" weight="3" alpha="0.9" /&gt; &lt;/mx:lineStroke&gt; &lt;/mx:LineSeries&gt; &lt;mx:LineSeries xField="Time" yField="parameter3" showDataEffect="{interp}" form="step" displayName="Parameter3" verticalAxis="{v1}" horizontalAxis="{h1}" cacheAsBitmap="true" cachePolicy="on" itemRenderer="mx.charts.renderers.CrossItemRenderer"&gt; &lt;mx:lineStroke&gt; &lt;s:SolidColorStroke color="#9DBB61" weight="3" alpha="0.9" /&gt; &lt;/mx:lineStroke&gt; &lt;/mx:LineSeries&gt; &lt;mx:LineSeries xField="Time" yField="parameter4" showDataEffect="{interp}" form="curve" displayName="Parameter4" verticalAxis="{v1}" horizontalAxis="{h1}" cacheAsBitmap="true" cachePolicy="on" itemRenderer="mx.charts.renderers.DiamondItemRenderer" radius="5"&gt; &lt;mx:lineStroke&gt; &lt;s:SolidColorStroke color="#4BACC6" weight="3" alpha="0.9" /&gt; &lt;/mx:lineStroke&gt; &lt;/mx:LineSeries&gt; &lt;mx:LineSeries xField="Time" yField="parameter5" showDataEffect="{interp}" form="curve" displayName="Parameter5" verticalAxis="{v1}" horizontalAxis="{h1}" cacheAsBitmap="true" cachePolicy="on" itemRenderer="mx.charts.renderers.TriangleItemRenderer"&gt; &lt;mx:lineStroke&gt; &lt;s:SolidColorStroke color="#ED9853" weight="3" alpha="0.9" /&gt; &lt;/mx:lineStroke&gt; &lt;/mx:LineSeries&gt; &lt;mx:LineSeries xField="Time" yField="parameter6" showDataEffect="{interp}" form="curve" displayName="Parameter6" verticalAxis="{v1}" horizontalAxis="{h1}" cacheAsBitmap="true" cachePolicy="on" itemRenderer="mx.charts.renderers.BoxItemRenderer" legendMarkerRenderer="mx.charts.renderers.TriangleItemRenderer"&gt; &lt;mx:lineStroke&gt; &lt;s:SolidColorStroke color="#7030A0" weight="3" alpha="0.9" /&gt; &lt;/mx:lineStroke&gt; &lt;/mx:LineSeries&gt; &lt;/mx:series&gt; &lt;mx:annotationElements&gt; &lt;local:RangeSelector id="rs"/&gt; &lt;/mx:annotationElements&gt; &lt;/mx:LineChart&gt; &lt;mx:Legend dataProvider="{linechart}" color="0xffffff"/&gt; &lt;/s:SkinnableContainer&gt; </code></pre> <p></p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload