1 Reply Latest reply on Aug 5, 2009 1:34 PM by Gregory Lafrance

    trying to create a radar chart, advice/tips/guidance appreciated


      Hi folk,

      I'm trying to create a radar (spider) chart.  I'll be honest and say this is my first time looking at flex to do this, and as a result is finding this a rather draining experience.  From my 3 days of failed attempts all I’ve found is there appears to a huge documentation hole surrounding the implementation of the polar chart, yet alone how to go about extending it (and related series, etc) to end up with a custom polar (radar) chart.


      In summary i've from what i could figure i required to create the following as classes:

      RadarChart (extends PolarChart)

      RadarSeries (extends Series)

      RadarSeriesItem (extends ChartItem)

      RadarSeriesRenderData (extends RenderData)

      RadarItemRender (extends ProgrammaticSkin, implements IDataRenderer).


      I've gone and done this and attempted to create a radar chart using these but am getting the error shown below.   The radar chart sets the datTipMode to 'single' and a dataTipFunction to a function which retrieves the data time.  Plus it is assigned an array of RadarSeries Objects to the series attribute.  It also sets the dataProvider to a ArrayCollection containing the data to be rendered.


      My understanding is something in either the RadarSeries or RadarChart is not set, though i've no idea what it is, and to be honest i'm a little stumped.    I know, that when i don't add the array RadarSeries objects to the 'series' property on the RadarChart i will not get the error, but i also get nothing renderered, but i don't know if that means anything. 


      All help, tips, pointers, advice on this would be very very welcome and much appreciated.



      Error #1009: Cannot access a property or method of a null object reference.

                      at mx.charts.chartClasses::ChartBase/http://www.adobe.com/2006/flex/mx/internal::applyDataProvider()[C:\work\flex\dmv_automatio n\projects\datavisualisation\src\mx\charts\chartClasses\ChartBase.as:4028]

                      at mx.charts.chartClasses::ChartBase/http://www.adobe.com/2006/flex/mx/internal::updateData()[C:\work\flex\dmv_automation\proje cts\datavisualisation\src\mx\charts\chartClasses\ChartBase.as:4054]

                      at mx.charts.chartClasses::ChartBase/commitProperties()[C:\work\flex\dmv_automation\projects \datavisualisation\src\mx\charts\chartClasses\ChartBase.as:1774]

                      at mx.charts.chartClasses::PolarChart/commitProperties()[C:\work\flex\dmv_automation\project s\datavisualisation\src\mx\charts\chartClasses\PolarChart.as:200]

                      at curamCharts.radarChart::RadarChart/commitProperties()[C:\Documents and Settings\POHara\workspace\Graph\src\curamCharts\radarChart\RadarChart.as:42]

                      at mx.core::UIComponent/validateProperties()[C:\autobuild\3.2.0\frameworks\projects\framewor k\src\mx\core\UIComponent.as:5807]

                      at mx.managers::LayoutManager/validateProperties()[C:\autobuild\3.2.0\frameworks\projects\fr amework\src\mx\managers\LayoutManager.as:539]

                      at mx.managers::LayoutManager/doPhasedInstantiation()[C:\autobuild\3.2.0\frameworks\projects \framework\src\mx\managers\LayoutManager.as:689]

                      at Function/http://adobe.com/AS3/2006/builtin::apply()

                      at mx.core::UIComponent/callLaterDispatcher2()[C:\autobuild\3.2.0\frameworks\projects\framew ork\src\mx\core\UIComponent.as:8628]

                      at mx.core::UIComponent/callLaterDispatcher()[C:\autobuild\3.2.0\frameworks\projects\framewo rk\src\mx\core\UIComponent.as:8568]