Page 1 of 1

SeriesHotSpot/ToolTip problem for large amount of data

Posted: Mon Jan 08, 2007 12:22 pm
by 8737369
I have been trying to build an application which should be able to display 4 multi-line charts on a single screen, where each chart being plotted has 10/15 lines seires and each line has around 4000/5000 points (XY values).
(so a total of around 40000/50000 points per chart)

It works fine as such and the charts get displayed properly.

Now I want to show just the title for each line as a tooltip when the mouse moves over the line.
But as soon as I add a SeriesHotSpot to show tooltip to each chart, the application starts behaving in an abberant manner. In most cases it simply hangs, whereas in other cases Tooltip does not come on all lines or in some cases other controls on the screen(like a dropdown etc) stop working etc.
(SeriesHotSpot is working fine for charts with fewer points).

Can anyone please help me acomplish this?

Can we show tooltip for a few selective points (say the last 20/30 points on the line) for each line, so that the application does not hang or something?

Thanks and Regards
Manreet Jassar

Posted: Tue Jan 09, 2007 9:16 am
by 8737369
Does anyone know what is the maximum number of points per chart(or per screen) that if present on a chart will not make the screen hang?

Posted: Tue Jan 09, 2007 3:22 pm
by narcis
Hi Jassar,

I could reproduce the problem here and added it (TF02012020) to our defect list to be fixed for future releases.

Using this code:

Code: Select all

	protected void Page_Load(object sender, EventArgs e)
	{
		Steema.TeeChart.Chart ch1 = WebChart1.Chart;

		ch1.Aspect.View3D = false;

		for (int i = 0; i < 10; i++)
		{
			Steema.TeeChart.Styles.FastLine fastLine1 = new Steema.TeeChart.Styles.FastLine(ch1);
			for (int j = 0; j < 1030; j++)
			{
				ch1[i].Add(j+i*50);
			}
		}

		Steema.TeeChart.Tools.SeriesHotspot hotSpots1 = new Steema.TeeChart.Tools.SeriesHotspot(ch1);
		hotSpots1.GetHTMLMap += new Steema.TeeChart.Tools.SeriesHotspotEventHandler(hotSpots1_GetHTMLMap);
	}

	void hotSpots1_GetHTMLMap(Steema.TeeChart.Tools.SeriesHotspot sender, Steema.TeeChart.Tools.SeriesHotspotEventArgs e)
	{
		e.PointPolygon.Title = e.Series.Title;
	}
I've found that over 1030 points per series some inconsistency is present and increases with the series points.

In the meantime, a workaround could be deriving a new series type from the series you're using and override the GetBounds method. You could then only return the call to base.GetBounds() for a certain number of index, e.g.:

Code: Select all

if(index % 50 == 0) { return base.GetBounds(index);}
Here you'll find an example of creating a custom series type inheriting from an existing series type.