Bottom.Labels.Angle could not diretly reflect in chart

TeeChart for Microsoft Visual Studio .NET, Xamarin Studio (Android, iOS & Forms) & Monodevelop.
Post Reply
Chris.CHWU
Newbie
Newbie
Posts: 57
Joined: Wed Jan 30, 2008 12:00 am

Bottom.Labels.Angle could not diretly reflect in chart

Post by Chris.CHWU » Mon Dec 28, 2009 10:21 am

Hello:

We are using Build 3.5.3498.27376. We use the following code to adjust label angle of bottom axis.

Code: Select all

Private Sub TChart_BeforeDrawSeries(ByVal sender As System.Object, ByVal g As Steema.TeeChart.Drawing.Graphics3D)
        Dim tchart As Steema.TeeChart.Chart = g.Chart
        Dim iWidth As Integer = Math.Abs((tchart.Axes.Bottom.CalcXPosValue(1) - tchart.Axes.Bottom.CalcXPosValue(0))) / 4
       
       // These codes are used to adjust box width, it works
         For Each series As Steema.TeeChart.Styles.Series In tchart.Series
            If TypeOf (series) Is Steema.TeeChart.Styles.Box Then
                CType(series, Steema.TeeChart.Styles.Box).Box.HorizSize = iWidth
            End If
        Next

      // We use this line to change label angle to 90, but the chart does not reflect to this change
        tchart.Axes.Bottom.Labels.Angle = 90 
End Sub
As you could see in the attached image, the box width is changed with the code, but the axis label angel is not changed.
Box Plot Width and Angel.GIF
Box Plot Width and Angel.GIF (9.96 KiB) Viewed 6295 times
But we could see that the angel is changed to 90 in Chart Editor
angel in editor is changed.GIF
angel in editor is changed.GIF (18.92 KiB) Viewed 6295 times
Please advise how could we eliminate this issue, thanks

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

Re: Bottom.Labels.Angle could not diretly reflect in chart

Post by Sandra » Tue Dec 29, 2009 10:00 am

Hello Chris. CHWU

I think that your problem occurs because chart needs redraw or refresh. Please see next code and check works correctly.

Code: Select all

Dim box1 As Steema.TeeChart.Styles.Box
Dim box2 As Steema.TeeChart.Styles.Box
Dim box3 As Steema.TeeChart.Styles.Box

    
    Private Sub InitializeChart()
        box1 = New Steema.TeeChart.Styles.Box(tChart1.Chart)
        box1.FillSampleValues()
        box1.Position = 1
        box2 = New Steema.TeeChart.Styles.Box(tChart1.Chart)
        box2.FillSampleValues()
        box2.Position = 2
        box3 = New Steema.TeeChart.Styles.Box(tChart1.Chart)
        box3.FillSampleValues()
        box3.Position = 3
        AddHandler tChart1.BeforeDrawSeries, AddressOf Me.tChart1_BeforeDrawSeries
        tChart1.Draw()
    End Sub
    
    Private Sub tChart1_BeforeDrawSeries(ByVal sender As Object, ByVal g As Steema.TeeChart.Drawing.Graphics3D)
        Dim tchart As Steema.TeeChart.Chart = g.Chart
        Dim iWidth As Integer = (Math.Abs((tchart.Axes.Bottom.CalcXPosValue(1) - tchart.Axes.Bottom.CalcXPosValue(0))) / 4)
        For Each series As Steema.TeeChart.Styles.Series In tchart.Series
            If (TypeOf series Is Steema.TeeChart.Styles.Box) Then
                CType(series,Steema.TeeChart.Styles.Box).Box.HorizSize = iWidth
            End If
            tchart.Axes.Bottom.Labels.Angle = 90
        Next
    End Sub
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