Flex 3 : Contour Plot Chart

Hi,
I have been tasked with a project where a contour plot chart is required like the one below. Does anyone know how this coould be done in Flex or are there any third-party components available to do this?
Thanks very much for you help.
Martin

Hi Subeesh,
Thanks for the info but it's not a radar chart. What I am looking for is more like --> http://www.singleton-labs.com/mcharts.php
Martin

Similar Messages

  • Simple Flex Chart question - Plot Chart labels

    I'm playing around with displaying data from WDA as charts in Flex 3.
    I'm able to bind my internal table, which has 3 fields, to the plot chart.
    The table looks like this
    ext_id      type string    " bound to prjname in Flex
    cost         type string    " bound to prjcost in Flex
    benefit     type string    " bound to prjbenefit in Flex
    These are all bound to my island's DataSource.
    I have bound these in Flex and the Cost and Benefits are showing up as points on my chart. However, I can't seem to get the Project Name to display on the plot points. All I see when I mouse over the point is EXT_ID, and the values for cost and benefits.
    The cost/benefit values are coming across correctly, just not the project name (ext_id) value. any ideas?
    here's the Flex code for the chart
         [Bindable]
         public var dataSource:ArrayCollection;
         [Bindable]
         public var prjcost:String;
         [Bindable]
         public var prjbenefit:String;
         [Bindable]
         public var prjname:String;.
        <mx:PlotChart id="plotchart1" dataProvider="{dataSource}" showDataTips="true">
           <mx:series>
                <mx:PlotSeries displayName="{prjname}" yField="{prjcost}" xField="{prjbenefit}" dataProvider="/>
            </mx:series>
        </mx:PlotChart>

    This is really a Flex question not an Islands specific one.  I don't think the displayName properity is what you want to use here.  This is the name for the entire series as it will be displayed in the legend. I think what you want is a dataTip.  You register a callback for the dataTip rendering and then fill the custom dataTip quick info.
    This is an example from a bar chart, but the theory is the same:
    <mx:BarChart id="barChart" dataTipFunction="dtFunc" xmlns:mx="http://www.adobe.com/2006/mxml" type="clustered" width="100%" showDataTips="true" height="100%">
         <mx:verticalAxis>
              <mx:CategoryAxis categoryField="{SalesOrd}" dataProvider="{dataSource}" />
         </mx:verticalAxis>
         <mx:series>
              <mx:BarSeries id="bsGross" xField="{grossAmt}" displayName="Gross Amount" dataProvider="{dataSource}" fill="{otdFill}" showDataEffect="{slideIn}"  />
              <mx:BarSeries id="bsNet" xField="{netAmt}" displayName="Net Amount" dataProvider="{dataSource}" fill="{rtyFill}" showDataEffect="{zoomIn}"  />          
         </mx:series>
    </mx:BarChart>
    private function dtFunc(hd:HitData):String {
                  switch(BarSeries(hd.element).id){
                       case "bsGross":
                             return "Sales Order #: " +  hd.item.SO_ID + "\n" + FlashIsland.formatNumber(hd.item.TTL_GROSS_AMOUNT) + " " + hd.item.CURRENCY_CODE;                        
                             break;
                       case "bsNet":
                             return "Sales Order #: " +  hd.item.SO_ID + "\n " + FlashIsland.formatNumber(hd.item.TTL_NET_AMOUNT) + " " + hd.item.CURRENCY_CODE;
                             break;                   
                  return "Amount";

  • How to draw 3D/2D Surface Chart and Contour Plot using MSCHART

    Hello all
    i want to draw 3D/2D surface chart and Contour Plot using MSCHART, is that possible ?
    Please help me to sort the issue. Is there any like ?
    Thanks in advance

    As founder of Gigasoft, add our
    MS Chart Alternative to your research.  Quick 18 meg no hassle demo download will prove our bits beyond any words or pictures.

  • Make Flex Plot Chart items toggle

    Hello,
    I made an application for generating a plot chart based on previously calculated data (X,Y). After plotting the data on the chart, I tried to make the items (dots) to show a label (through addChild an external custom label component) when a user click on the dots (for example: if a user click on a chart item, the corresponding ID number will show beside the dot).
    Although everything works fine, I can't make the items toggled (for example: if a dot is already clicked and label ID is visible, on next click on the same dot I want to hide (removeChild) the label component which correspond to that item)...
    I tried almost everything, but with no success... A simple example  will be of great help for me...
    Thanks in advance,
    Nikola

    Anyone??

  • Crosshair mouse tracker on Plot Chart

    Hi All,
    I have implemented a flex plot chart, which works fine (able to plot items to it).  I want to add a cross hair tracking device that will move along with the mouse.  The cross hair will draw a simple horizontal and vertical line crossing at the mouse pointer to the edges of the chart.  I already have registered for the mouse move event (I have a status line that prints the real world values based on x/y position as the mouse moves).  The crosshair implementation I have tried implementing causes the mouse tracking to act very strange...almost, in a lagging type behaviour.  I am using a Graphics object from the plot chart object.  I do a clear each time before I redraw the crosshair (as the mouse moves).  The 'clear' seems to be the core of the lag problem (if I comment out the 'clear', the tracking works fine..but of course the crosshair from the previous mouse position doesnt erase).  I didnt see an 'xor' type of function which is what I have used on like projects before. Any ideas or suggestions would be greatly appreciated.
    my plot char is  called tlat_chart.
    var G:Graphics = tlat_chart.graphics;
    G.clear();
    G.moveTo(somex, somey);
    G.lineTo(newx, somey);
    etc......

    Take a look at Eli's custom chart annotations here: http://demo.quietlyscheming.com/ChartSampler/app.html

  • Plot chart problem

    Hi experts,
        In plotchart using cirlcular item renderer am getting full details.But instead of that one using customItemRenderer am unable to get full details.This is my customItemRender(CirlceFileRenderer ) action script class file
    package
        import flash.display.Graphics;
        import mx.charts.series.items.PlotSeriesItem;
        import mx.core.IDataRenderer;
        import mx.skins.ProgrammaticSkin;
        public class CirlceFileRenderer extends ProgrammaticSkin implements IDataRenderer
            public function CirlceFileRenderer()
            private var _chartItem:PlotSeriesItem;
            public function get data():Object
                return _chartItem;
            public function set data(value:Object):void
                _chartItem = value as PlotSeriesItem;
                invalidateProperties();
            override protected function updateDisplayList(unscaledWidth:Number,unscaledHeight:Number):void
                super.updateDisplayList(unscaledWidth, unscaledHeight);
                var g:Graphics = graphics;
                g.clear();
                var col:Number = 0;
                var x:Number = 0;
                var y:Number=0;
                //if(_chartItem!=null)
                var obj:Object = _chartItem.item as Object;
                //col = getColor(obj.Color as Number);
                x= obj.Xdata as Number;
                y=obj.Ydata as Number;
                g.beginFill(col);
                trace("X :"+x+" Y :"+y);
                trace("_chartItem.x:"+_chartItem.x+" _chartItem.y :"+_chartItem.y);
                g.drawCircle(_chartItem.x,_chartItem.y,1);
                //g.drawCircle(x,y,1);
                //g.drawRect(_chartItem.x,_chartItem.y,unscaledWidth,unscaledHeight);
                // g.drawRect(x,y,1,2);
                g.endFill();
            public function getColor(x:Number):Number   
                if(x < 0.0)
                    return 0x000000;
                else if (x < 0.125)
                    return 0x000088;
                else if (x < 0.375)
                    return 0x0000FF;
                else if (x < 0.625)
                    return 0x00FFFF;
                else if (x < 0.875)
                    return 0xFFFF00;
                else if (x <= 1.0)
                    return 0x880000;   
                else
                    return 0xFFFFFF;   
    Flex action script code is like this:
    private function handleResult(event:ResultEvent):void
                    temparray = event.result as Array;
                    for(var i:int =0;i<256;i++)
                        var ta:Array = new Array();
                        var ar:Array = new Array();
                        ar = temparray[i];
                        for(var j:int = 0;j<288;j++)
                        //    trace("a["+i+"]["+j+"] -:"+ar[j]+" Color:"+(Math.abs(ar[j])-131) / 20);
                            ta.push({Xdata:i,Ydata:j,Color:(Math.abs(ar[j])-131) / 20  });
                        var ps:PlotSeries = new PlotSeries();
                        ps.xField = "Xdata";
                        ps.yField = "Ydata";
                        //ps.radius = 1;
                        ps.setStyle("itemRenderer",new ClassFactory(CirlceFileRenderer));
                        ps.dataProvider = ta;
                        newarr.addItem(ps);
                    chart.series = newarr.toArray();       
    Am unable to find the problem.I didn't get full details in plot chart.
    Please tell me this is urgent requirement....

    Hi,
    what info you didn't get?
    try this
    public function set data(value:Object):void
                _chartItem = value as PlotSeriesItem;
              super.data = value;
                invalidateProperties();

  • Charting / custom plot chart advice?

    Hi, I'm trying to build a customized chart in Flex that might
    be a bit over my current skill level so I was hoping I could get a
    tip how to approach this. Essentially it will be a plot chart with
    an associated data table. The plot chart will have only one series
    of data but each point on the chart shall indicate a range. Instead
    of having two dots on the chart (2 series) that indicate the lower
    and higher bound, I want to have, in essence, two dots that are
    joined by a wide long bar. If that's too hard I might go for just a
    thick bar going from lower bound to upper bound. I believe this
    should be done with just one data series indicating the upper and
    lower value because both values really belong together. The user
    would click anywhere on that bar to select it. So there is only one
    item to interact with per point and therefore there is also only
    tooltip for both. The bars are not evenly spaced out but based on
    date information, so I'd use a Data-Time axis horizontally and a
    regular linear axis vertically.
    I believe the right way to build this is a custom renderer
    for the actual datapoint and that's where I was looking for a
    tip/advice. Is that hard to do? Is there some classes that I can
    tweak into doing that for me without writing custom components or
    such?
    The other thing I want to achieve (after I solved this one)
    is to have a data grid associated with the chart. When one data
    item is clicked in the chart, the corresponding row in the table
    gets highlighted, and vice versa, if the user clicks a row in the
    table, the corresponding chart item is highlighted. I think that's
    doable too, it's just a bit tricky with how the events are flying
    around I think. But, as I said, first I need to figure out the
    chart.
    If anybody has some advice how I should approach that I sure
    would appreciate it. I experimented around with Bubble charts over
    a category axis for a while but I think it really should be done
    with a plot chart over a time axis and maybe a custom renderer for
    the data point.
    Thanks a bunch!
    Andreas

    Hi AndreasD,
             Can you please  let me know if  you were able to get solution to the below querry. My curent requirement is very close to what you have specified in the querry
    Regards
    Kalavati Singh
    [email protected]

  • How to provide different plor series for plot chart

    How to provide different plot series for a Plot Chart.
    The IDs of the series are given in a ComboBox control

    Series are stored in an array. If there is only one series, then you can change it simply by "pushing" a series into a new array, and then assigning that series array to the chart. If you are replacing one series in the chart series array, then you have to figure out which to remove and put the new one in.
    This LiveDocs link may help:
    http://livedocs.adobe.com/flex/3/html/help.html?content=charts_intro_7.html
    If this post answers your question or helps, please mark it as such.

  • How can I prevent a memory flow error from occuring when using 3D contour plots?

    After displaying a single contour plot a number of times, LabVIEW crashes and reports a memory overflow error.  I only load a single 2D array, never storing previouls ones. I always index the data for contour plot 0, and don't explicitly store multiple 2D arrays in any buffer, such as appending data to a shift register.  There appears to be some sort of memory leak in LV when using this feature.  Is there a programatic way to flush the stored data in a contour plot prior to displaying the next 2D array of data?

    Hello MicTomReiSr,
    Is this in the LabVIEW development environment?  Are you making changes to the code and then running the VI?  Does the plot contain default data? Is the indicator cleared when the program stops?  The Plot Clean Data method may be what you're looking for.
    Remember that the development environment maintains an undo history of the changes you've made, and copies both the block diagram and FP contents each time.  If you have a lot of data displayed on the front panel you end up copying it multiple times.  This isn't a problem unless you're actively editing the VI in question.
    If you do need to edit and run the VI at the same time (perfectly reasonable, although you might want to consider a 64-bit installation or more RAM if you commonly work with resource-intensive data types like 3D plots) try reducing the Undo history length (Tools>>Options), although be aware that you won't be able to back up as many steps.
    Regards,
    Tom L.

  • Dynamic Series creation for Plot Chart

    Hi,
    I am using a plot chart which takes data from an external XML file.
    Based on certain fields in the data, I create 3 different plot series.
    I use a Combo box to show different plot series based on the selected value from it.
    I am placing another Combo box
    How can do the below task:
    I need to create some dynamic series based on some node elements in the series for which the chart is currently shown.
    I create another Combo box to show the above generated plot series based on the selected value from it.

    Hi,
    I am using a plot chart which takes data from an external XML file.
    Based on certain fields in the data, I create 3 different plot series.
    I use a Combo box to show different plot series based on the selected value from it.
    I am placing another Combo box
    How can do the below task:
    I need to create some dynamic series based on some node elements in the series for which the chart is currently shown.
    I create another Combo box to show the above generated plot series based on the selected value from it.

  • Plot chart- embbeding a custom swf file

    I'm currently using the plot chart element to display dynamic from a MySQL database. I decided I wanted to use a custom embedded swf file. The issue I'm running into is the way the swf file looks. Is there a way keep the original size (width/height) and not have to look deformed? Adjusting the radius only makes the swf "fatter".
    Here is the code that I'm using:
       <mx:series>
        <mx:PlotSeries
         id="plot"
         xField="xfieldname"
         yField="yfieldname"
         radius ="45"
         itemRenderer="@Embed(source='file:/C:/images/movie.swf')" 
         showDataEffect="slideUp"
         />
       </mx:series>
      </mx:PlotChart>

    Hi,
    there are two very distinct things: one is to emit an actual swf, and the other one is to tell an existing swf to show something....
    Now assume your user can choose a few symbols from the library and drag them around .... and imagine an xml file that liss the symbol name and its coordinates on stage as well as its scaling factor.
    Next assume the user can click somewhere to type text ... and imagine the xml file to contain text entries with actual text, font size, and coordinates
    I did something with AS2 following this scheme: a server script copied the existing swf and added an actionscript block equivalent to the above-mentioned xml file. I have not studied details of AS3 files enough to tell whether the same is possible with AS3, but I sort of believe that an xml string embedded as a byte string could be amended / replaced in a similar way

  • DataTip box to appear near the plot for Plot Chart

    Hi,
    I am using a Plot chart.
    I use three Plot series for the chart.
    I show the plots for one series at a time.
    When I show the Data tips for each plot, I am getting a long line connecting the plot & the DataTip (as shown in attachment).
    I would like the DataTip box to appear near the plot.
    How to accomplish this ?
    - Sen

    The bottom line is that it does not work reliably, Tim.
    I had occasion to scan old Kodachrome slides (2x2" in cardboard mount), and placed identifying markers with "Talk Bubbles."
    Open your picture file
    Access the  Custom Shape Tool (U). On the tool's option bar at the top next to "Shapes", click on the arrow and find the "Talk Bubbles" library. In that there are several shapes which you can drag into position. The shapes fill with the foreground color (see chips, lower left of work-space)
    Next, use the Type tool for the name.
    Note that you can position the shape and the name with the move tool, and resize with the corner handles of the bounding box -- the advantage of doing things in layers.

  • Create contour plot

    Hi,
    I'm trying to create a contour plot from data stored in a measurement file (lvm).
    The data file consists of time (x), size (y) and a concentration corresponding to each xy.
    I want to show the concentration in colour intensities and not as numbers.
    I've started with the "read from measurement file", but I don't know how to convert the data that is read to a x, y and z-vector, to be able to plot it afterwards .
    What graph can I use best to plot the x, y, z vector? A 3d surface Active X container?
    Thank you in advance!
    Evelien
    Attachments:
    contour plot smps.vi ‏44 KB
    SMPS 22-09-09 dN-dlogDp.txt ‏344 KB

    Kevin Smith, Kirinos Engineering:
    Phone: (408) 739-4706, FAX: (408) 739-7925, e-mail: [email protected]
    has written a package for contouring.
    My info stems from ltr 1995 but I believe he is still around
    greetings from the Netherlands

  • External XML data for plot chart

    Hi,
    Can you provide the XML equivalent & the corresponding changes to be done in the below plot chart code :
    <?xml version="1.0"?>
    <!-- charts/BasicPlot.mxml -->
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
      <mx:Script><![CDATA[
         import mx.collections.ArrayCollection;
         [Bindable]
         public var expenses:ArrayCollection = new ArrayCollection([
            {Month:"January", Profit:2000, Expenses:1500, Amount:450},
            {Month:"February", Profit:1000, Expenses:200, Amount:600},
            {Month:"March", Profit:1500, Expenses:500, Amount:300},
            {Month:"April", Profit:500, Expenses:300, Amount:500},
            {Month:"May", Profit:1000, Expenses:450, Amount:250},
            {Month:"June", Profit:2000, Expenses:500, Amount:700}
      ]]></mx:Script>
      <mx:Panel title="Plot Chart">
         <mx:PlotChart id="myChart" dataProvider="{expenses}"
         showDataTips="true">
            <mx:series>
               <mx:PlotSeries
                    xField="Expenses"
                    yField="Profit"
                    displayName="Plot 1"
               />
               <mx:PlotSeries
                    xField="Amount"
                    yField="Expenses"
                    displayName="Plot 2"
               />
               <mx:PlotSeries
                    xField="Profit"
                    yField="Amount"
                    displayName="Plot 3"
               />
            </mx:series>
         </mx:PlotChart>
         <mx:Legend dataProvider="{myChart}"/>
      </mx:Panel>
    </mx:Application>

    This does what you want.
    If this post answers your question or helps, please mark it as such.
    <?xml version="1.0"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
      creationComplete="init();">
      <mx:Script>
        <![CDATA[
          import mx.collections.XMLListCollection;
          [Bindable] public var expenses:XMLListCollection;
          private function init():void{
            expenses = new XMLListCollection(XMLList(xml..dataItem));
          private var xml:XML =
            <data>
              <dataItem>
                <Month>January</Month>
                <Profit>2000</Profit>
                <Expenses>1500</Expenses>
                <Amount>450</Amount>
              </dataItem>
              <dataItem>
                <Month>February</Month>
                <Profit>1000</Profit>
                <Expenses>200</Expenses>
                <Amount>600</Amount>
              </dataItem>
              <dataItem>
                <Month>March</Month>
                <Profit>1500</Profit>
                <Expenses>500</Expenses>
                <Amount>300</Amount>
              </dataItem>
              <dataItem>
                <Month>April</Month>
                <Profit>500</Profit>
                <Expenses>300</Expenses>
                <Amount>500</Amount>
              </dataItem>
              <dataItem>
                <Month>May</Month>
                <Profit>1000</Profit>
                <Expenses>450</Expenses>
                <Amount>250</Amount>
              </dataItem>
              <dataItem>
                <Month>June</Month>
                <Profit>2000</Profit>
                <Expenses>500</Expenses>
                <Amount>700</Amount>
              </dataItem>
            </data>;
      ]]></mx:Script>
      <mx:Panel title="Plot Chart">
         <mx:PlotChart id="myChart" dataProvider="{expenses}"
         showDataTips="true">
            <mx:series>
               <mx:PlotSeries
                    xField="Expenses"
                    yField="Profit"
                    displayName="Plot 1"
               />
               <mx:PlotSeries
                    xField="Amount"
                    yField="Expenses"
                    displayName="Plot 2"
               />
               <mx:PlotSeries
                    xField="Profit"
                    yField="Amount"
                    displayName="Plot 3"
               />
            </mx:series>
         </mx:PlotChart>
         <mx:Legend dataProvider="{myChart}"/>
      </mx:Panel>
    </mx:Application>

  • 3D contour plot of an image

    Hi,
    I want to plot a 3D contour plot of intensity in an image. I've attached a sample image. Awaiting for suggestions.
    Thanks.
    Solved!
    Go to Solution.
    Attachments:
    2009-01-17-15e35e40e,49_307.png ‏241 KB

    Hello aveo,
    how about using the "IMAQ 3D View". Please see the attached code saved for LV2010.
    Does this suit your application?
    Best regards,
    K
    https://decibel.ni.com/content/blogs/kl3m3n
    "Kudos: Users may give one another Kudos on the forums for posts that they found particularly helpful or insightful."
    Attachments:
    IMAQ3D.zip ‏448 KB

Maybe you are looking for