Markstip by series

TeeChart for Microsoft Visual Studio .NET, Xamarin Studio (Android, iOS & Forms) & Monodevelop.
Post Reply
Neelam
Advanced
Posts: 193
Joined: Fri Jun 08, 2007 12:00 am

Markstip by series

Post by Neelam » Mon May 18, 2009 3:41 pm

I have 3 series in the chart, on each series I need to to implement a different markstip so that when I hover a point, a tooltip will show depending on the markstip I assigned. Is there someone who knows how to do this? I need a vb code for this one. I already tried using the mousehover and the gettext but still don't have luck. Thanks in advance.

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

Post by Sandra » Tue May 19, 2009 11:21 am

Hello shikha,


I am not sure what is the problem markstips in your application. Please, could you send us a simple example project we can run "as-is" to reproduce the problem here?
You can either post your files at news://www.steema.net/steema.public.attachments newsgroup or at our upload page, and explain exactly that we do for reproduce your problem with marksTips.

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

Neelam
Advanced
Posts: 193
Joined: Fri Jun 08, 2007 12:00 am

Markstip per series

Post by Neelam » Wed May 20, 2009 5:43 am

The code below shows the creation of 3 series in a chart. The Markstip style in this example is set to Steema.TeeChart.Styles.MarksStyles.XY. Is it possible to set the markstip by series? Example: for the first and third series (stcslCurveLine1 and stcslCurveLine2) , I would like to set the markstip to Steema.TeeChart.Styles.MarksStyles.SeriesTitle. For the second series (stcslCurvePoints) I would like to set the markstip to Steema.TeeChart.Styles.MarksStyles.XY. So that if I hover to series 1 and 3 the markstip is the series title and if I hover to series 2 the markstip that will show is the XY values.

tcCurve is the name of the chart

Dim stcslCurveLine1 As New Steema.TeeChart.Styles.Line
Dim stcslCurvePoints As New Steema.TeeChart.Styles.Points
Dim stcslCurveLine2 As New Steema.TeeChart.Styles.Line

stcslCurveLine1.FillSampleValues(6)
stcslCurvePoints.FillSampleValues(6)
stcslCurveLine2.FillSampleValues(6)

Me.tcCurve.Series.Add(stcslCurveLine1)
Me.tcCurve.Series.Add(stcslCurvePoints)
Me.tcCurve.Series.Add(stcslCurveLine2)

Dim MarksTip1 As New Steema.TeeChart.Tools.MarksTip(tcCurve.Chart)
MarksTip1.Style = Steema.TeeChart.Styles.MarksStyles.XY

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

Post by Sandra » Wed May 20, 2009 10:50 am

Hello shikha,

I could reproduce your problem and I have added to the list of Bug Report with number [ TF02014165] we will try to fix it for next versions of TeeChart .NET

In the other hand, you could use Annotation Tools for solve your problem, I make and example Please check that next code works fine in your application:

Initialitze Chart:

Code: Select all

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        
        Dim line1 As Steema.TeeChart.Styles.Line = New Steema.TeeChart.Styles.Line(TChart1.Chart)
        Dim line2 As Steema.TeeChart.Styles.Line = New Steema.TeeChart.Styles.Line(TChart1.Chart)
        Dim point1 As Steema.TeeChart.Styles.Points = New Steema.TeeChart.Styles.Points(TChart1.Chart)

        line1.FillSampleValues(6)
        line2.FillSampleValues(6)
        point1.FillSampleValues(6)

    End Sub

MouseMove Event:

Code: Select all


    Private annotation1 As Steema.TeeChart.Tools.Annotation

    Private Sub TChart1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TChart1.MouseMove
        Dim i As Integer
        For i = 0 To TChart1.Series.Count - 1
            Dim index As Integer = TChart1(i).Clicked(e.X, e.Y)

            If (index <> -1) Then
                DrawAnnotation(i, index)
                Exit For
            End If
            If (Not (annotation1) Is Nothing) Then
                annotation1.Active = False
            End If

        Next

    End Sub

Method DrawAnnotation:

Code: Select all

Private Sub DrawAnnotation(ByVal Series As Integer, ByVal index As Integer)

        If (annotation1 Is Nothing) Then
            annotation1 = New Steema.TeeChart.Tools.Annotation(TChart1.Chart)
        End If

        annotation1.Active = True
        Dim s As Steema.TeeChart.Styles.Series = TChart1(Series)
        Dim tmp As String = s.Title

        If (Series = TChart1.Series.Count - 1) Then
            tmp = s.XValues(index).ToString() + " " + s.YValues(index).ToString()
        End If

        annotation1.Text = tmp
        annotation1.Shape.CustomPosition = True
        annotation1.Shape.Left = s.CalcXPos(index)
        annotation1.Shape.Top = s.CalcYPos(index)

    End Sub
I hope that 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

Neelam
Advanced
Posts: 193
Joined: Fri Jun 08, 2007 12:00 am

Thanks Thanks

Post by Neelam » Thu May 21, 2009 6:43 am

Thank you very much. The code you gave me works. Thank you very much

Post Reply