Page 1 of 1
Reposition series
Posted: Fri Dec 22, 2006 8:53 am
by 9638303
Dear Sir
How to i re-position the series items?
for example the bar chart contain a few bar item. i write a code to remove those item value = 0. after removed those 0 value bar item. the tchart still remand the space. how to I call tchart to draw the series correctly?
eric
Posted: Fri Dec 22, 2006 10:01 am
by 9348258
Hi Eric
We can't reproduce the problem here with the latest version available at the client area. Which teeChart version are you using ?
If the problem persist, could you please send us a simple example project we can run "as-is" or some code so that we can reproduce the problem here?
You can post your files at news://steema.public.attachments newsgroup
Thanks in advance
Posted: Fri Dec 22, 2006 10:15 am
by 9638303
Dear Sir
Below is the sample code. click the button 1 then only click the button 2.
you can see the bar 3 and 4 is stick together already. how do make tchart draw collectly the position? or any method to so suppress zero?
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TChart1.Series.Add(New Steema.TeeChart.Styles.Bar3D)
TChart1.Series(0).Add(23, "1", TChart1.Series(0).Color)
TChart1.Series(0).Add(0, "2", TChart1.Series(0).Color)
TChart1.Series(0).Add(453, "3", TChart1.Series(0).Color)
TChart1.Series(0).Add(2343, "4", TChart1.Series(0).Color)
TChart1.Series(0).Add(0, "5", TChart1.Series(0).Color)
TChart1.Series(0).Add(53, "6", TChart1.Series(0).Color)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
SuppressSeriesZero()
End Sub
Public Sub SuppressSeriesZero()
If TChart1.Series.Count <> 0 Then
Dim i, ii As Integer
Dim Total As Double = 0
For i = 0 To TChart1.Series(0).Count - 1
For ii = 0 To TChart1.Series.Count - 1
If InStr(TChart1.Series(ii).GetType.Name, "Horiz") = 0 Then
Total = Total + TChart1.Series(ii).YValues.Value(i)
Else
Total = Total + TChart1.Series(ii).XValues.Value(i)
End If
If Total <> 0 Then
Exit For
End If
Next
If Total = 0 Then
For ii = 0 To TChart1.Series.Count - 1
TChart1.Series(ii).Delete(i)
Next
i = i - 1
End If
Total = 0
Next
TChart1.Refresh()
End If
End Sub
thank
Posted: Fri Dec 22, 2006 10:21 am
by 9638303
Dear Sir
I have the same problem at TChart activeX version 6.
Can you please let me know how to draw the chart correctly after removed the series item
Thank
Eric
Posted: Fri Dec 22, 2006 11:33 am
by narcis
Hi Eric,
The chart is not drawn incorrectly. When you populate one series without specifing the X values they are automatically added an range from 0 to Series.Count-1.
When you remove the series points which have a 0 value, the other points X values are not modified. Therefore the series is not drawn incorrectly as the bottom axis respects the series X values.
To achieve what you request you can use XValues.FillSequence() method or implement something like RemoveEmptySpaces:
Code: Select all
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TChart1.Series.Add(New Steema.TeeChart.Styles.Bar3D)
TChart1.Series(0).Add(23, "1", TChart1.Series(0).Color)
TChart1.Series(0).Add(0, "2", TChart1.Series(0).Color)
TChart1.Series(0).Add(453, "3", TChart1.Series(0).Color)
TChart1.Series(0).Add(2343, "4", TChart1.Series(0).Color)
TChart1.Series(0).Add(0, "5", TChart1.Series(0).Color)
TChart1.Series(0).Add(53, "6", TChart1.Series(0).Color)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
SuppressZeroValues()
TChart1(0).XValues.FillSequence()
'or
'RemoveEmptySpaces()
End Sub
Public Sub SuppressZeroValues()
If TChart1.Series.Count <> 0 Then
Dim i As Integer
For i = 0 To TChart1(0).Count - 1
If (TChart1(0).YValues(i) = 0) Then
TChart1(0).Delete(i)
End If
Next
End If
End Sub
Public Sub RemoveEmptySpaces()
Dim i As Integer
For i = 0 To TChart1(0).Count - 1
TChart1(0).XValues(i) = i
Next
End Sub
Posted: Tue Dec 26, 2006 2:06 am
by 9638303
Dear Sir
Ya.. it work thank alot
Eric