flex programmatically show tooltip chart - apache-flex

I have a chart with 2 line series in it.
So, "Jan" (x-axis point) will have 2 Y-axis points
The problem :
Is there anyway to force flex to show tooltip on both series simultaneously?

Here's a link to an article in the docs that discusses the use of multiple data tips in a chart: http://livedocs.adobe.com/flex/3/html/help.html?content=charts_displayingdata_08.html
There's a section called "Showing multiple DataTip objects" about a third of the way down. Hope that helps.

Related

How to display items that make up a slice of a pie chart in Kibana?

I am attempting to create a pie chart that will display the health status of various systems. This is what the chart currently looks like:
Each data point, in addition to the possible errors messages, has a name in its data.
Is it possible to configure the chart so the system names are shown in the pie chart? In the tooltip for each slice would be preferable, but any solution will work.
You can Add (button at the buttom of the configuration) a second visualization, which will then add another layer around your first visualization.
This is an example for log.level and around it labels.url.full:

Barchart wth Annotations in Flex

I had developed BarCharts with annotations. Each bar is a one bar chart(displaying in attached jpeg). But i need total in one barchart with 4 bar series and annotations like a black line displaying in the middle (like,as shown in attached jpeg )
Please refer the below link.
http://img256.imageshack.us/img256/4872/chartsc.jpg
Data is comming from the server and need plot into the charts, but i could not find the solution, how to do it.
Please let me know any one have solution on the same.
Thanks,
Ravi
i had changed to barchart to progressBar. so Noe this issueis tempararoly resolved. Thanks to all for spending time to see and try to resolve it.

Show all series' values in stacked bars mouseover (ASP.NET CHART)

I'm using the asp.net Chart control to present a stacked bars chart.
I can create a mouseover custom tooltip using this code:
series.MapAreaAttributes = "onmouseover=\"showTooltip('#VALY');\"";
... which works fine. But I can't seem to find a way to show the rest of the values for the other series in that column.
Example:
I have 2 series (Paid and Unpaid) making up a single column in the chart. When I mouseover any of the series, I want to show both the value of the moused-over series, but also the other series contained in that particular stacked column.
Can anyone point me in the right direction?
We're also using stacked bar charts - we have click through functionality, for users to drill into the data making up each point in each series : we use something like this on each data point.
series.Points[index].MapAreaAttributes = "onclick=\"window.opener.location=this.href;window.opener.focus();return false;\"";

Aligning Multiple Charts in Flex Charting

I have multiple line charts in Flex Charting (3.x). The charts (and number of charts) are being dynamically generated, and are either of "type A" or "type B." The type of data on the Y-axis is different for type A then it is for type B. The x-axis is time.
Each chart is placed in its own VBox (with a few other things) that make up a larger canvas of the Type A or Type B. This VBox is given an absolute X position.
It is very high priority that the different charts line up, so that comparisons (in time) can be made.
What ends up happening is that the vertical axis for some charts takes up more width then others, so the charts are no longer aligned in time.
I have tried playing the VerticalAxisRenderers/AxisRenderer width, but that had no effect.
Any advice would be greatly appreciated.
You can try to set the same gutter left for the both charts. That might help. I had a similar issues, but haven't figured a better answer yet.
I am doing the same thing. If you can use the same HorizontalAxis using a DateTime axis it works great.. you just need to parse the data into an appropriate dateTime.
But, if like me, you need to chart the Time and a parsing the Time values into datetime then provides gaps in data... so far, I have not found an answer, because I am using a Horizontal Axis - Category Axis, but I will try switching that to a Numeric Axis and let you know what I come up with. if anything...
You need to make sure the component uses the same width, height, padding and gutter settings.
For the gutter, which solves what you described, you can find the right info and sample code here:
http://livedocs.adobe.com/flex/3/html/help.html?content=charts_formatting_03.html

FLEX: Make LineChart DATATIP constrain to vertical axis

When making a line chart, Lets say its for business sales for different depts and horizontally is days and vertically is dollars. When you hover over a line it tells a dataTip tells you the sales for that dept. on that day. I want it to show all the depts at the same time, so say you hover over day 3, I want the dataTips for all depts on day 3 to display so you can compare the values for all the sales on the same day. I set the mouseSensitivity for the dataTips to display all the lines at once but I end up getting day 2 for one dept and day 3 for another which is not wanted. This is actually posted as a bug and explained better here: http://bugs.adobe.com/jira/browse/FLEXDMV-1853
I am wondering if anyone can come up with a work-around for this?
Thanks!
I ran into a similar problem to this recently and came up with a solution that also applies to your problem. I had a step LineChart and wanted to display a data tip when the user hovered anywhere on the line instead of just at defined data points.
You can read about the solution I wrote for that problem here: Flex: Customizing data tip location and behavior in a LineChart
You'll have to modify my solution slightly to fit your problem:
On line 47 you can remove the Math.abs(last.y - mouseLoc.y) < 50 check. This constrains the data tips to lines that are within 50 pixels vertically of the mouse.
I'm assuming that you're using the default segment line chart which just draws lines directly between data points. You'll need to modify the code that calculates the line value at a given x-coordinate to work with that chart type. I already find the closest data point to the left of the mouse with lines 33-41 and store it in last. Just get the next data point (which will be the one closest to the right of the mouse) and use something like this to get the value at the mouse:
var slope:Number = (nextPoint.y - last.y) / (nextPoint.x - last.x);
var lineYAtMouse:Number = (slope * (last.x - mouseLoc.x)) + last.y;
var lineValue:Array = line.localToData(new Point(mouseLoc.x, lineYAtMouse));
Then replace lines 69 through 72 with:
hitPoint.x = mouseLoc.x;
hitPoint.y = lineYAtMouse;
hitPoint.xValue = lineValue[0];
hitPoint.yValue = lineValue[1];
I haven't tested these modifications so there could be a bug or 2 but the general idea is there. I hope maybe this is still useful to someone. This question is getting pretty old. :)
Not an answer, but a poor alternative:
You could create your own DataTip renderer that [ahem] mapped the location of every point and drew the tip for each one there.
Basically, you would be duplicating a lot of the code inside the charting classes.
I have the same problem but working on column charts. Was thinking that I could enable the vertical gridLines using backgroundElements and then add a chart event listener for mouse over (which fires when mouse passes over a vertical gridline). Using the localX value, i could compare it to the closest datapoint, maybe.
Brian

Resources