SeriesHotSpot/ToolTip problem for large amount of data

TeeChart for Microsoft Visual Studio .NET, Xamarin Studio (Android, iOS & Forms) & Monodevelop.
Post Reply
Jassar
Newbie
Newbie
Posts: 2
Joined: Thu Aug 31, 2006 12:00 am

SeriesHotSpot/ToolTip problem for large amount of data

Post by Jassar » Mon Jan 08, 2007 12:22 pm

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

Jassar
Newbie
Newbie
Posts: 2
Joined: Thu Aug 31, 2006 12:00 am

Post by Jassar » Tue Jan 09, 2007 9:16 am

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?

Narcís
Site Admin
Site Admin
Posts: 14730
Joined: Mon Jun 09, 2003 4:00 am
Location: Banyoles, Catalonia
Contact:

Post by Narcís » Tue Jan 09, 2007 3:22 pm

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.
Best Regards,
Narcís Calvet / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

Post Reply