Radar charts
Error updating radarchart
Hi, I tried updating data in a radarchart with something like this: chart.dataProvider = ds; chart.series = lineSeries; where ds is an ArrayCollection and I get lineSeries by using this method in your ilog radar example: private function createSeries(array:Array, type:Class):void { var s:RadarSeries; fillStyles = new Dictionary(); for each (var c:String in this.camposSeries) { s = new type(); s.dataField = c; s.displayName = c; fillStyles[s] = s.getStyle("areaFill"); s.setStyle("areaFill", emptyColor); s.filterData = false; s.setStyle('stroke', new Stroke(0xaaaaaa,1,0.7)); if (s is RadarLineSeries) { RadarLineSeries(s).setStyle('itemRenderer', new ClassFactory(CircleItemRenderer)); RadarLineSeries(s).setStyle('radius', 5); } if (s is RadarColumnSeries) { RadarColumnSeries(s).columnWidthRatio = 0.95; } array.push(s); } } and this running error appears: TypeError: Error #1010: Un término no está definido y no tiene propiedades. at ilog.charts.renderers::RadarLineRenderer/drawPolyLine()[/usr/flex/elixir2.5/flex-suite/branches/release-2.5/build/bin/sources/library/chart/src/flex/ilog/charts/renderers/RadarLineRenderer.as:132] at ilog.charts.renderers::RadarLineRenderer/updateDisplayList()[/usr/flex/elixir2.5/flex-suite/branches/release-2.5/build/bin/sources/library/chart/src/flex/ilog/charts/renderers/RadarLineRenderer.as:193] at mx.skins::ProgrammaticSkin/validateDisplayList()C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\skins\ProgrammaticSkin.as:421 at mx.managers::LayoutManager/validateDisplayList()C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:622 at mx.managers::LayoutManager/doPhasedInstantiation()C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:695 at Function/http://adobe.com/AS3/2006/builtin::apply() at mx.core::UIComponent/callLaterDispatcher2()C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8628 at mx.core::UIComponent/callLaterDispatcher()C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8568 at flash.utils::Timer/_timerDispatch() at flash.utils::Timer/tick() Any help? Thanks and regards.
Hi, Can you provide the full source code of the minimal sample which reproduces the problem? Thanks, Damien
SystemAdmin 110000D4XK 2010-10-26T12:19:07Z Hi, Can you provide the full source code of the minimal sample which reproduces the problem? Thanks, Damien More... Ok, here you have a working sample. I don't get that error in this sample but you can see my component MyRadarChart. On the other hand you can see some drawing issues and some chart pieces disappears. Why? By the way..is there any way to catch that exception? When error appears application is not working anymore Thanks
Lotas 060000SMNA 2010-10-27T10:20:10Z Ok, here you have a working sample. I don't get that error in this sample but you can see my component MyRadarChart. On the other hand you can see some drawing issues and some chart pieces disappears. Why? By the way..is there any way to catch that exception? When error appears application is not working anymore Thanks More... Hi, For the clipping issue, it seems paddingTop and paddingBottom are not taken into account. I have registered a bug on our bug base which should be fixed in a future patch. For now, the workaround is to remove these lines: this._chart.setStyle( "paddingTop",30); this._chart.setStyle( "paddingBottom",30); I guess these padding have been added to workaround a problem of measure of your label renderer. To workaround this problem of measure (the solution is not perfect), I suggest to replace you renderer by this one: <?xml version= "1.0" encoding= "utf-8"?> <mx:Canvas xmlns:mx= "http://www.adobe.com/2006/mxml" minHeight= "30"> <mx:Text id= "multilabel" text= "{data.text}" maxWidth= "100"/> </mx:Canvas> Hope this helps, Damien
SystemAdmin 110000D4XK 2010-10-27T11:04:59Z Hi, For the clipping issue, it seems paddingTop and paddingBottom are not taken into account. I have registered a bug on our bug base which should be fixed in a future patch. For now, the workaround is to remove these lines: <pre class="jive-pre"> this._chart.setStyle( "paddingTop",30); this._chart.setStyle( "paddingBottom",30); </pre> I guess these padding have been added to workaround a problem of measure of your label renderer. To workaround this problem of measure (the solution is not perfect), I suggest to replace you renderer by this one: <pre class="jive-pre"> <?xml version= "1.0" encoding= "utf-8"?> <mx:Canvas xmlns:mx= "http://www.adobe.com/2006/mxml" minHeight= "30"> <mx:Text id= "multilabel" text= "{data.text}" maxWidth= "100"/> </mx:Canvas> </pre> Hope this helps, Damien More... Thanks for helping Finally I need to use: <mx:Text id="multilabel" text="{data.text}" width="100" minWidth="50" maxWidth="150"/> I must set "width" property. I don't know why but if you don't do that text is not dispalyed in multiple lines. Another question.... How can I center Legend? I've tried with legend.setStyle("horizontalAlign", "center") but it doesn't work. Thanks & regards.
Lotas 060000SMNA 2010-10-27T14:01:03Z Thanks for helping Finally I need to use: <mx:Text id="multilabel" text="{data.text}" width="100" minWidth="50" maxWidth="150"/> I must set "width" property. I don't know why but if you don't do that text is not dispalyed in multiple lines. Another question.... How can I center Legend? I've tried with legend.setStyle("horizontalAlign", "center") but it doesn't work. Thanks & regards. More... Hi again, Strange that you have to set a width, it was not needed on my side. To center the legend remove the 2 redundant lines marked in the following code fragment from MyRadarChart: *** LEGEND ***/ legendPanel = new HBox(); canvasLegend = new VBox(); canvasLegend.percentHeight = 20; canvasLegend.percentWidth = 100; canvasLegend.setStyle( "verticalAlign", "middle"); legendPanel.percentHeight = 100; legendPanel.percentWidth = 100; // REMOVE THIS LINE legendPanel.percentWidth=100; // REMOVE THIS LINE legendPanel.direction=BoxDirection.HORIZONTAL ; canvasLegend.setStyle( "horizontalAlign", "center"); Please keep in mind that this forum is dedicated to IBM ILOG Elixir issues. General Flex questions have to be posted on Flex dedicated forums such as FlexCoders. Hope this helps, Damien
SystemAdmin 110000D4XK 2010-10-27T14:25:37Z Hi again, Strange that you have to set a width, it was not needed on my side. To center the legend remove the 2 redundant lines marked in the following code fragment from MyRadarChart: <pre class="jive-pre"> *** LEGEND ***/ legendPanel = new HBox(); canvasLegend = new VBox(); canvasLegend.percentHeight = 20; canvasLegend.percentWidth = 100; canvasLegend.setStyle( "verticalAlign", "middle"); legendPanel.percentHeight = 100; legendPanel.percentWidth = 100; // REMOVE THIS LINE legendPanel.percentWidth=100; // REMOVE THIS LINE legendPanel.direction=BoxDirection.HORIZONTAL ; canvasLegend.setStyle( "horizontalAlign", "center"); </pre> Please keep in mind that this forum is dedicated to IBM ILOG Elixir issues. General Flex questions have to be posted on Flex dedicated forums such as FlexCoders. Hope this helps, Damien More... True, you're right. Sorry about my last question and thank you for answer it. Regards.
Related Links
Radar chart in the dotted line
Data Label
Can I set the MAX value in each category axis of radarchart?
Radar Chart of IBM ILOG Trial Version
Glow Effect on Radar Chart Line
Need help adding dynamic series to Radar Chart
Start at 90 not 0
Obtaining radar chart Linear Axis coordinates
Negative values ?
Disable datatip for some of the series...
Error updating radarchart
Change the orientation of the category label
Labels size
Customizing radar charts angular axis labels
Custom labelFunction for radarchart
Linear Gradient as fill for RadarColumnSerie