Flex :: Components - Chart That Has Both Plots And Lines?
Apr 6, 2011
Flex has a plotchart component and a linechart component.. but I am looking to make a chart that has lines connecting points as well as larger dots with rollover info. Is this easily possible? Would I have to create a custom component from scratch to achieve this?
I have a Flash animation that is entirely created with AS 2.0. It creates a line graph based on some data. It works perfectly as is, but I'd like to add a little flair. As it plots the points and connects the lines, I'd like to have a tiny pause between each. I'd like the user to see the line being drawn across the screen rather than it all appearing instantaneously.Is there any code that can make a script "pause" for a set amount of time?
I have a candleStickChart in flex 4.5 with a dateTimeAxis horizontal axis.I wish to have a button that enables to draw a line on top of that chart.I wrote a code that each time the button is click, a new CartesianDataCanvas is created. than I do a pretty standard line drawing by listening for the MOUSE_DOWN, MOUSE_MOVE, and MOUSE_UP to draw the line.In the MOUSE_DOWN event I create the new CartesianDataCanvas, and update the annotaionArray as described in the following code: (candles is the candleStickChart's id)
public function startDrawing(event:MouseEvent):void { canvas = new CartesianDataCanvas;
I have a following issue:My task is to style a datatip for two charts in Flex 4.5.Both charts reside in two different <Group> based components which are added to the <Application>
So after a thorough research here is what I tried to do.First applying a css descending selectors:
Then I would like to be able to get access to the instance of the CustomDataTip class.But I can't .So currently the only thing I can do is to create a distinct custom datatip renderer class for each chart.That could be fine if you have only a couple of charts you want to style but what can we do if we have many of them?
I have a line chart with 4 line series with diamond, circle, box and triangle as item renderer for the plots for these 4 line series.Now my requirement is I want to show labels for the plots in the chart. It should be like this : I tried with some item renderes but not getting it correctly since I want to use the circles and triangles to render the plots.
Is it possible to draw multiple lines in the same chart? Or using multiple charts but making others transparent etc Or any other way?? I need to make a multi line chart (using the chart component would be better though)
I'm trying to prevent a default chart item roll over highlight in a Spark column chart.If you look at any of the chart examples on this page , when you roll over any of the chart series items, they turn a darkened shade of their original colour. This is what I want to prevent.
So far I have had no luck with using the itemRollOverColor property, as this only allows you to set it to one specific colour for the whole chart (my app has several different coloured series on the chart at once). Also, trying to leverage the itemRollOver event (with preventDefault() etc) hasn't worked either.
I'm trying to make chart which is combination of bar and line chart using Flex Charting API . Here x axis would be common and y axis would be different. note that y axis got different range of value one is % and other is amount. Any one got idea how to make this chart. Here line chart would be staked on top of bar chart . The line chart and never over laid or drawn on top of bar chart.
I am created a dynamically adding a VBox, that contains two images. Into a Custom Component that is derived from UIComponent. The problem is the Vbox that contains the two image is only a really tiny size. I would like the VBox stretch to the size of the two images. This is how I am creating the Vbox....
Is it bad practice/design to nest components inside components using Flex 4? Should I simply be creating components and inserting them into my main application as below, or doesn't it matter?
I'm building a kind of dynamic level generator, at the moment I have it draw a grid of alternating coloured squares/plots (for visual debug), currently set at 1 pixel which I then scale up so they are easier to see. I make a list of all these open 'plots' in an array(maybe a dictionary would be better?)... Next I draw a random selection of roads on top of my grid in another sprite. Ranging in width from 2 to 8 plots. First drawing all the horizontal, and then the vertical ones. Now I'm wondering what would be the best way of finding all the plots/pixels that these roads occupy?I thought perhaps I could draw the roads into bitmap data, and then find the x,y values of all the black pixels? something like:
PHP Code: var bData:BitmapData = new BitmapData(roads.width, roads.height, false); bData.draw(roads)
How can I Create an animated Bar Chart or Line Chart type of component in flash programmatically, which should depends upon an incoming XML data, the chart should have the basic criteria like, Chart Label, Item Tooltips, background grids (without using any image). There also needs an ability to change the data which should reflect the chart as well.
My group is working on a Flex/AS3 scientific web application that is data intensive. Luckily the only plots involved are line charts. However, each line chart may have multiple traces (up to 24), and each trace may contain up to 2000 points. The user will need to zoom in and out and interact with the data (e.g. data tips, etc.).
The response I'm getting from developers is that's a lot of data to render in a plot in Flash. For reasons beyond the scope of this post, we can't sample the data to reduce the size (this has already been done and nature of the data prevents further sampling).
Rendering speed is critical for this app. What kind of rendering speed should I expect the Flex 4 line chart component to provide for a given number of points (e.g. 1 second to render 1000 points?)
Are there products available that handle plotting large data sets better, which can be incorporated in Flex (I've seen FusionCharts and ZingCharts online but have no idea how they compare with Flex's components)? Of those, which are easy to develop with while still providing a lot of flexibility in look and feel?
Flex charts, like AreaChart, have wonderful built-in support for displaying data "tool tips" when a user hovers over a point supplied in the data of a graph. You can hover over any of the bar graph examples on this page for a demonstration. I have a graph situation where I optionally draw in some dots as reference points on CartesianDataCanvases supplied to my AreaChart through it's <mx:annotationElements> and <mx:backgroundElements> tags.
I would like to have the same hover data-tip functionality that the AreaChart has, but applied to these dots. I realize that I am just drawing on canvas, and that no actual dataProvider supports these dots, but if there was a way to supply the CartesianDataCanvas with an array of data values or something to that effect,
I am in a situation where user gets the cars data from the database based on the selection and displays it in datagrid like below ( for example)
Company Model Year No GM Chevy 2010 10 GM Chevy 2009 5 GM Pontiac 2010 12 Honda Civic 2009 12
and there will be a link next to datagrid to get Pie chart based on the data displays in the data grid . The pie graph should display grouping by company and the count . I mean for the above example that should give with two pie items , one for GM showing the number of vehicles ( in this case 3 ) and Honda showing the number of vehicles ( in this case 1 ).
I thought of getting it from the database by querying and grouping it .But here the problem is after getting the data above in the datagrid user can able to filter at client end ( By year or model ) and can say get graph . This time that should only display the graph for the data visible in Datagrid .Grouping on database for every operation is becoming expensive. Since we have already data available at client end , is there any way to group it at client ..?
Is it possible to restrict flex bar chart y-axis count?I have a very big name coming in my y-axis and i want to reduce or restrict it to 5 characters and on rollover i want to display it in full.
I have been working on a map viewer based blitting technique. As part of the map I need to draw approximately 50000 lines and performance is currently really poor.
I've created a line chart in flex and it works like expected. Now, I would like to add shading to the background for specific information. For example, this chart - [URL], shows a shaded background for recessions. How would I mimic this shading in a Flex linechart?
My code is on the main timeline.I call a function loop to draw lines between them.The lines are drawing between the right x, y values BUT between those values on the main stage, not those values within the kite.For example, dot1_mc is at x100, y0 inside kite. the line that should go from its center, draws from stage x100, 0.How do I draw the lines inside kite so that they draw between the dots?Heres my code that draws the linesPHP Code:
function loop():void{ lineDrawing.graphics.clear(); var a:Point = new Point(kite_mc.dot1_mc.x, kite_mc.dot1_mc.y); var b:Point = new Point(kite_mc.dot2_mc.x, kite_mc.dot2_mc.y); var c:Point = new
I want a bubble chart that just shows items along a straight line. So I'd like the horizontal axis to essentially not exist. I have it working right now with the yField assigned to a field that happens to always be '1' on my test dataset.. but this is not going to be the case in general, so I need some way to restrict the y-axis... preferably without needing to go back to my model and parse through all my data to add a dummy value '1' on each entry.
Unfortunately setting min/max values just cuts off anything above or below rather than restricting entries.
I set computedMin and Maximum (no idea what they are and the docs don't really explain) but it didn't seem to restrict the data in any way.
In my Flex 4.5 mobile app, I have an actionScript item renderer (that derives from Flex's LabelItemRenderer). I want to fit in exactly 2 lines of text, and then truncate the rest. The width and height of the label are fixed and known statically. How can I do this? The StyleableTextField.truncateToFit() method only works for one line of text.
I've set wordWrap = true, so the text now flows into the second line - but I need to truncate the text if it doesn't fit in two lines. I need it to show all the text if there is only one line. (in both cases the label should be vertically middle-aligned in my renderer) I know how to override layoutContents to do sizing and positioning etc of the StyleableTextField. So I'm looking specifically for ideas to implement custom text truncation with the StyleableTextField).
I would like to be able to specify the placement of a legend for a linechart. Currently, it continues to appear to the right of the chart. I have tried playing with the width/height of the chart to no avail... Putting the legend before the linechart in the mxml causes it to appear to the left. I can't seem to get it appear at the bottom though. I can't seem to find any good examples for this. They don't seem to specify anything but the legend usually shows up below the chart, I can't seem to do it.
I'm using a lineseries chart, but it gets fairly slow to re-render when I add a new point when the total # of points is ~1200 points. Granted, this is running on a fairly slow PC (~600 MHz). Reading the Flex documentation on how to speed up rendering (turning off dropshadows, turning off filterData, etc...) doesnt seem to help. I bound my chart to an ArrayCollection (rather than the array I used before which I manually updated) and it doesnt seem to be any faster. Adobe's documentation seems to have me believe that the Chart looks only at what changed since the last time it was updated, but i'm only adding one point!
If their info is correct, why does it take significantly longer (5 seconds) to update one point when I have ~1200 points then when I only have 2 points (instantaneous)? FYI - When I add a new point to my ArrayCollection, I have to do a "AC.refresh()" to get the DataBinding to pick up the new data.