Mark Tips flicker

TeeChart for Microsoft Visual Studio .NET, Xamarin Studio (Android, iOS & Forms) & Monodevelop.
Post Reply
liviuz
Newbie
Newbie
Posts: 13
Joined: Tue Apr 08, 2003 4:00 am

Mark Tips flicker

Post by liviuz » Mon Mar 22, 2010 11:50 am

Hi Support,

We are currently using TeeChart v1.1.2307.20497 and our chart implements multiple series. Each series has its own mark tips (tooltips). If the series happen to overlap (i.e. when displayed as 2D bars, which happens quite often) when the user hovers over such a bar, the mark tip value is oscillating between the individual values of the series that overlap. Is it a way of stopping this behavior and display the value of the series with the highest index?

Regards,
Liviu

Sandra
Site Admin
Site Admin
Posts: 3132
Joined: Fri Nov 07, 2008 12:00 am

Re: Mark Tips flicker

Post by Sandra » Wed Mar 24, 2010 11:53 am

Hello richardi,

I have commented two things:

First: I could see that you are not using last version1 of TeeChart .Net. I recommend that update your version1 of TeeChart.Net.

Second: I made a simple example in last version1. Please, check next example if works as you want.

Code: Select all

        public Form1()
        {
            InitializeComponent();
            InitializeChart();
        }
        Steema.TeeChart.Tools.MarksTip marks, marks1, marks2;
        Steema.TeeChart.Styles.Bar bar1, bar2, bar3;
        private void InitializeChart()
        {
            tChart1.Aspect.View3D = false;
            bar1 = new Steema.TeeChart.Styles.Bar(tChart1.Chart);
            bar2 = new Steema.TeeChart.Styles.Bar(tChart1.Chart);
            bar3 = new Steema.TeeChart.Styles.Bar(tChart1.Chart);
            bar1.FillSampleValues();
            bar2.FillSampleValues();
            bar3.FillSampleValues();
            marks = new Steema.TeeChart.Tools.MarksTip(tChart1.Chart);
            marks1 = new Steema.TeeChart.Tools.MarksTip(tChart1.Chart);
            marks2 = new Steema.TeeChart.Tools.MarksTip(tChart1.Chart);
            marks.Series = bar1;
            marks1.Series = bar2;
            marks2.Series = bar3;
        }
If you update version and previous code not works as you want, please you could modifier code or explain exactly is your problem with marks tips, because we can reproduce it here?

I hope will helps.

Thanks,
Best Regards,
Sandra Pazos / 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

liviuz
Newbie
Newbie
Posts: 13
Joined: Tue Apr 08, 2003 4:00 am

Re: Mark Tips flicker

Post by liviuz » Thu Mar 25, 2010 4:26 pm

Hi Sandra,

My name is Liviu. The original account was with Richard but in the meantime he left the company and I took his place.

I tried your sample and that one works fine. The problem I have is that in my situation the different series bars overlap (as in the attached example) and they are not side by side like in your sample (although I set the MultiBar property of the series to MultiBars.Side). When I hover the mouse cursor over an area where two series overlap - the tool tip oscillates between the values of the overlapping series. If I hover over a series that doesn't overlap - I have no problems.

I guess my problem is caused by the series overlapping, but how can I stop them from overlapping?

As for the latest version1 of TeeChart.Net, can you point me in the right direction where I can downloaded from?

Thanks,
Attachments
SeriesOverlap.jpg
SeriesOverlap.jpg (43.21 KiB) Viewed 11148 times

Sandra
Site Admin
Site Admin
Posts: 3132
Joined: Fri Nov 07, 2008 12:00 am

Re: Mark Tips flicker

Post by Sandra » Fri Mar 26, 2010 10:13 am

Hello Liviu,
As for the latest version1 of TeeChart.Net, can you point me in the right direction where I can downloaded from?
You could download last update v1 TeeChart .Net in this link. Please, when you update, back to try running your project and checking if it works as you want.


Thanks,
Best Regards,
Sandra Pazos / 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

liviuz
Newbie
Newbie
Posts: 13
Joined: Tue Apr 08, 2003 4:00 am

Re: Mark Tips flicker

Post by liviuz » Mon Mar 29, 2010 4:24 pm

Hi Sandra,

Thanks for the link to the latest version of TeeChart v1. I've downloaded and upgraded to this version but I'm afraid I have the same behavior.

Attached you can find a sample project that illustrates the error I get. If you move the mouse over the third bar in the sample (where two series overlap), you will see that the tooltip flips between the values of the two overlapping bars.

What can I do to stop the tooltip from changing its value?

regards,
Liviu
Attachments
TeeChartSeries.zip
(12.34 KiB) Downloaded 574 times

Sandra
Site Admin
Site Admin
Posts: 3132
Joined: Fri Nov 07, 2008 12:00 am

Re: Mark Tips flicker

Post by Sandra » Tue Mar 30, 2010 9:43 am

Hello richardi,

I have modified your code and I have removed next lines:

Code: Select all

            Steema.TeeChart.Tools.MarksTip marks,marks2;
            ........
            marks2 = new Steema.TeeChart.Tools.MarksTip(tChart1.Chart);
            marks.Series = bar1;
            marks.Series = bar2;
Your code is like next:

Code: Select all

		public Form1() {
			InitializeComponent();
			InitializeChart();
		}
        Steema.TeeChart.Tools.MarksTip marks;
		Steema.TeeChart.Styles.Bar bar1, bar2;
		private void InitializeChart() {
			tChart1.Aspect.View3D = false;
			tChart1.Axes.Bottom.Labels.DateTimeFormat = "dd-MMM-yy";
            bar1 = new Steema.TeeChart.Styles.Bar(tChart1.Chart);
			bar2 = new Steema.TeeChart.Styles.Bar(tChart1.Chart);
            bar1.Add(DateTime.Parse("14/06/2010"), 3.19);
            bar1.Add(DateTime.Parse("30/06/2010"), 3.24);
            bar1.Add(DateTime.Parse("29/07/2010"), 3.32);
            bar2.Add(DateTime.Parse("09/05/2010"), 2.85);
            bar2.Add(DateTime.Parse("31/05/2010"), 3.49);
            bar2.Add(DateTime.Parse("20/06/2010"), 3.04);
			marks = new Steema.TeeChart.Tools.MarksTip(tChart1.Chart);
            bar2.MultiBar = Steema.TeeChart.Styles.MultiBars.Side;
 
		}
Applying these changes in your code, makes, Marktips work correctly here with last version 1 of TeeChart.Net. Please check if works as you want.
Best Regards,
Sandra Pazos / 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

liviuz
Newbie
Newbie
Posts: 13
Joined: Tue Apr 08, 2003 4:00 am

Re: Mark Tips flicker

Post by liviuz » Wed Mar 31, 2010 2:29 pm

Hi Sandra,

Your suggestions indeed solved the flickering problem. The problem I've got now is that since I don't have separate MarkTips for each series, when I handle the GetText event to customise the MarkTip text, I don't know anymore which one is the current series to cutomise the text accordingly. Any suggestions?

Regards,
Liviu

Sandra
Site Admin
Site Admin
Posts: 3132
Joined: Fri Nov 07, 2008 12:00 am

Re: Mark Tips flicker

Post by Sandra » Thu Apr 01, 2010 11:28 am

Hello Liviu,

I suggest that use handle GetSeriesMarks, because MarkTips get text of series marks. You could do similar code as next:

Code: Select all

  public Form1()
        {
            InitializeComponent();
            InitializeChart();
        }
        Steema.TeeChart.Tools.MarksTip marks;
        Steema.TeeChart.Styles.Bar bar1, bar2;
        private void InitializeChart()
        {
            tChart1.Aspect.View3D = false;
            tChart1.Axes.Bottom.Labels.DateTimeFormat = "dd-MMM-yy";
            bar1 = new Steema.TeeChart.Styles.Bar(tChart1.Chart);
            bar2 = new Steema.TeeChart.Styles.Bar(tChart1.Chart);
            bar1.Add(DateTime.Parse("14/06/2010"), 3.19);
            bar1.Add(DateTime.Parse("30/06/2010"), 3.24);
            bar1.Add(DateTime.Parse("29/07/2010"), 3.32);
            bar2.Add(DateTime.Parse("09/05/2010"), 2.85);
            bar2.Add(DateTime.Parse("31/05/2010"), 3.49);
            bar2.Add(DateTime.Parse("20/06/2010"), 3.04);
            marks = new Steema.TeeChart.Tools.MarksTip(tChart1.Chart);
            bar2.MultiBar = Steema.TeeChart.Styles.MultiBars.Side;
            bar1.GetSeriesMark += new Steema.TeeChart.Styles.Series.GetSeriesMarkEventHandler(bar1_GetSeriesMark);
            bar2.GetSeriesMark += new Steema.TeeChart.Styles.Series.GetSeriesMarkEventHandler(bar1_GetSeriesMark);

        }

        void bar1_GetSeriesMark(Steema.TeeChart.Styles.Series series, Steema.TeeChart.Styles.GetSeriesMarkEventArgs e)
        {
            if (series == bar1)
            {
                e.MarkText = "bar1";
              }
            else if (series == bar2)
            {
                e.MarkText = "bar2";
          
            }
        }
Please, check previous code works as you want.

I hope will helps.

Thanks,
Best Regards,
Sandra Pazos / 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