Page 1 of 1

Ternary Tick Marks

Posted: Sat Oct 09, 2010 2:37 am
by 15657351
Hi,

Can you check this please:

The bottom axes on the ternary plots will not display tick marks.

Re: Ternary Tick Marks

Posted: Mon Oct 11, 2010 8:39 am
by 10050769
Hello lilo,

Please, check if next code works as you want:

Code: Select all

 private Steema.TeeChart.Styles.Ternary series1;
        private void InitializeChart()
        {
            series1 = new Steema.TeeChart.Styles.Ternary(tChart1.Chart);
            tChart1.Dock = DockStyle.Fill;
            tChart1.Aspect.View3D = false;
            series1.FillSampleValues();
            tChart1.Axes.Bottom.Ticks.Visible = true;
            tChart1.Axes.Bottom.Ticks.Color = Color.Red;
            tChart1.Axes.Bottom.Ticks.EndCap = System.Drawing.Drawing2D.LineCap.Round;
            tChart1.Axes.Bottom.Ticks.Width = 7;
        }
If previous code don't works for you please, explain exactly what are you want do with tick labels.

Thanks,

Re: Ternary Tick Marks

Posted: Tue Oct 12, 2010 4:17 pm
by 15057312
Thanks Sandra,

That is the code I am using...I don't have a lot of experience with teechart. Could there be issues using Teechart with vbexpress? I have a few problems formatting ternary charts.

I need to display the scale and tick marks on all of the axes, so i can have a presentable chart. I also need to be able to customize the vertex titles to my own strings. All done in code.

Re: Ternary Tick Marks

Posted: Wed Oct 13, 2010 10:18 am
by 10050769
Hello lilo,

I have made next code for you using last version 4 of TeeChart.Net and VBExpress 2010:

Code: Select all

   Public Sub New()
        ' This call is required by the designer.
        InitializeComponent()
        tChart1 = New Steema.TeeChart.TChart()
        Me.Controls.Add(tChart1)
        tChart1.Dock = DockStyle.Fill
        InitializeChart()

        ' Add any initialization after the InitializeComponent() call.
    End Sub
    Private series1 As Steema.TeeChart.Styles.Ternary
    Private Sub InitializeChart()
        series1 = New Steema.TeeChart.Styles.Ternary(tChart1.Chart)

        series1.FillSampleValues()
        ' Axes Bottom
        tChart1.Axes.Bottom.Ticks.Visible = True
        tChart1.Axes.Bottom.Ticks.Color = Color.Red
        tChart1.Axes.Bottom.Ticks.EndCap = System.Drawing.Drawing2D.LineCap.Round
        tChart1.Axes.Bottom.Ticks.Width = 7
        tChart1.Axes.Bottom.SetMinMax(series1.XValues.Minimum, series1.XValues.Maximum)
        tChart1.Axes.Bottom.Increment = 20
        'Axes Left
        tChart1.Axes.Left.Ticks.Visible = True
        tChart1.Axes.Left.Ticks.Color = Color.Red
        tChart1.Axes.Left.Ticks.EndCap = System.Drawing.Drawing2D.LineCap.Round
        tChart1.Axes.Left.Ticks.Width = 7
        tChart1.Axes.Right.SetMinMax(series1.YValues.Minimum, series1.YValues.Maximum)
        tChart1.Axes.Right.Increment = 20
        'Axes Right
        tChart1.Axes.Right.Ticks.Visible = True
        tChart1.Axes.Right.Ticks.Color = Color.Red
        tChart1.Axes.Right.Ticks.EndCap = System.Drawing.Drawing2D.LineCap.Round
        tChart1.Axes.Right.Ticks.Width = 7
        tChart1.Axes.Right.SetMinMax(series1.ZValues.Minimum, series1.ZValues.Maximum)
        tChart1.Axes.Right.Increment = 20

        series1.VertexTitles(0)(0) = "Vertex A"
        series1.VertexTitles(1)(0) = "Vertex B"
        series1.VertexTitles(2)(0) = "Vertex C"
    End Sub
Could you please, tell us if previous code works for you? If don't works as you want, please say exactly where are the problems, because we can try to help you to solve your issues.

I hope will helps.

Thanks,

Re: Ternary Tick Marks

Posted: Fri Oct 15, 2010 9:16 am
by 15057312
Still not working..I have tried all the axis and scale settings.

Re: Ternary Tick Marks

Posted: Fri Oct 15, 2010 9:33 am
by 15057312
Here is a picture of the ternary plot:

12 ternary charts in the series.

Label font changed to 12 point

Border size changed to 3 pixels

Custom Vertex Labels

Tick Marks Set to True on all axes

Tick Marks only show on left and right axes

Tick Marks do not show on Bottom Axis

Label 0 on right axis vertex does not update to 12 point font

Re: Ternary Tick Marks

Posted: Fri Oct 15, 2010 11:27 am
by 10050769
Hello lilo,
12 ternary charts in the series.
Please see the answer I put in this link

On the other hand, using next code and last version 4 of TeeChart .Net:

Code: Select all

   Steema.TeeChart.TChart tChart1;
        public Form1()
        {
            InitializeComponent();
            tChart1 = new Steema.TeeChart.TChart();
            this.Controls.Add(tChart1);
            tChart1.Dock = DockStyle.Fill;
            InitializeChart();
        }
        private void InitializeChart()
        {
       
         for (int i = 0; i < 12; i  )
        {
            new Steema.TeeChart.Styles.Ternary(tChart1.Chart);
            tChart1[i].FillSampleValues();
        }
        // Axes Bottom
        tChart1.Axes.Bottom.Ticks.Visible = true;
        tChart1.Axes.Bottom.Ticks.Color = Color.Red;
        tChart1.Axes.Bottom.Ticks.EndCap = System.Drawing.Drawing2D.LineCap.Round;
        tChart1.Axes.Bottom.Ticks.Width = 2;
        tChart1.Axes.Bottom.Labels.Font.Size = 12;
        tChart1.Axes.Bottom.AxisPen.Width = 3;
        ////Axes Left
        tChart1.Axes.Left.Ticks.Visible = true;
        tChart1.Axes.Left.Ticks.Color = Color.Red;
        tChart1.Axes.Left.Ticks.EndCap = System.Drawing.Drawing2D.LineCap.Round;
        tChart1.Axes.Left.Ticks.Width = 2;
        tChart1.Axes.Left.Labels.Font.Size = 12;
        tChart1.Axes.Left.AxisPen.Width = 3;
        ////Axes Right
        tChart1.Axes.Right.Ticks.Visible = true;
        tChart1.Axes.Right.Ticks.Color = Color.Red;
        tChart1.Axes.Right.Ticks.EndCap = System.Drawing.Drawing2D.LineCap.Round;
        tChart1.Axes.Right.Ticks.Width = 2;
        tChart1.Axes.Right.Labels.Font.Size = 12;
        tChart1.Axes.Right.AxisPen.Width = 3;
         foreach (Steema.TeeChart.Styles.Ternary series1 in tChart1.Series)
         {
              series1.VertexTitles[0][0] = "Vertex A";
              series1.VertexTitles[1][0] = "Vertex B";
              series1.VertexTitles[2][0] = "Vertex C";
         }
    }
Get below result image:
Chart1.jpg
Chart1.jpg (97.04 KiB) Viewed 15460 times
Could you please, send us a simple project or if you prefer modify my code, because we can reproduce your problem exactly here?
Thanks,

Re: Ternary Tick Marks

Posted: Fri Oct 15, 2010 12:38 pm
by 15057312
Thanks for your reply,

Here is the result using your code...see picture. Also the bottom tick marks continue not to plot.
TChart1.Series.Chart.Axes.Left.Ticks.Visible = True
TChart1.Series.Chart.Axes.Right.Ticks.Visible = True
TChart1.Series.Chart.Axes.Bottom.Ticks.Visible = True

TChart1.Series.Chart.Axes.Left.Ticks.Length = 7
TChart1.Series.Chart.Axes.Right.Ticks.Length = 7
TChart1.Series.Chart.Axes.Bottom.Ticks.Length = 7

TChart1.Series.Chart.Axes.Left.Ticks.Width = 2
TChart1.Series.Chart.Axes.Right.Ticks.Width = 2
TChart1.Series.Chart.Axes.Bottom.Ticks.Width = 2
TChart1.Series.Chart.Axes.Bottom.Ticks.Color = Drawing.Color.Red
TChart1.Series.Chart.Axes.Left.Ticks.Color = Drawing.Color.Red
TChart1.Series.Chart.Axes.Right.Ticks.Color = Drawing.Color.Red


If i set the pointer = series.Pointer.Brush.Transparency = 0 the line pointers will not plot...star, cross, diagonal cross
Using
AddHandler Ternary1.GetPointerStyle, New Steema.TeeChart.Styles.Ternary.GetPointerStyleEventHandler(AddressOf Ternary1_GetPointerStyle)

Sub Ternary1_GetPointerStyle(ByVal series As Object, ByVal e As Steema.TeeChart.Styles.GetPointerStyleEventArgs)
If e.ValueIndex > NumSamples Then Exit Sub
e.Color = SampleColor(e.ValueIndex)
If PointerofSample(e.ValueIndex) = 34 Then e.Style = Steema.TeeChart.Styles.PointerStyles.Circle
If PointerofSample(e.ValueIndex) = 35 Then e.Style = Steema.TeeChart.Styles.PointerStyles.Triangle
If PointerofSample(e.ValueIndex) = 36 Then e.Style = Steema.TeeChart.Styles.PointerStyles.DownTriangle
If PointerofSample(e.ValueIndex) = 37 Then e.Style = Steema.TeeChart.Styles.PointerStyles.Cross
If PointerofSample(e.ValueIndex) = 38 Then e.Style = Steema.TeeChart.Styles.PointerStyles.DiagCross
If PointerofSample(e.ValueIndex) = 39 Then e.Style = Steema.TeeChart.Styles.PointerStyles.Star
If PointerofSample(e.ValueIndex) = 40 Then e.Style = Steema.TeeChart.Styles.PointerStyles.Diamond
If PointerofSample(e.ValueIndex) = 41 Then e.Style = Steema.TeeChart.Styles.PointerStyles.SmallDot
If PointerofSample(e.ValueIndex) = 42 Then e.Style = Steema.TeeChart.Styles.PointerStyles.LeftTriangle
If PointerofSample(e.ValueIndex) = 43 Then e.Style = Steema.TeeChart.Styles.PointerStyles.RightTriangle
If PointerofSample(e.ValueIndex) = 44 Then e.Style = Steema.TeeChart.Styles.PointerStyles.Sphere
If PointerofSample(e.ValueIndex) = 45 Then e.Style = Steema.TeeChart.Styles.PointerStyles.Hexagon
If PointerofSample(e.ValueIndex) = 46 Then e.Style = Steema.TeeChart.Styles.PointerStyles.Nothing
End Sub
ternary3.jpg
ternary3.jpg (22.3 KiB) Viewed 15456 times
If i set the pointer = series.Pointer.Brush.Transparency = 100, none of the pointers will plot correctly...the inner part of the spheres will plot
ternary4.jpg
ternary4.jpg (20.22 KiB) Viewed 15455 times
This is how they should plot with series.Pointer.Brush.Transparency = 0

and using 12 ternary series

For i = 1 To NumofSamples
Call GetPointer(i)
If PointerofSample(i) = 33 Then Ternary1.Add(Min1A(i), Min3A(i), Min2A(i), Color3(i))
If PointerofSample(i) = 34 Then Ternary2.Add(Min1A(i), Min3A(i), Min2A(i), Color3(i))
If PointerofSample(i) = 35 Then Ternary3.Add(Min1A(i), Min3A(i), Min2A(i), Color3(i))
If PointerofSample(i) = 36 Then Ternary4.Add(Min1A(i), Min3A(i), Min2A(i), Color3(i))
If PointerofSample(i) = 37 Then Ternary5.Add(Min1A(i), Min3A(i), Min2A(i), Color3(i))
If PointerofSample(i) = 38 Then Ternary6.Add(Min1A(i), Min3A(i), Min2A(i), Color3(i))
If PointerofSample(i) = 39 Then Ternary7.Add(Min1A(i), Min3A(i), Min2A(i), Color3(i))
If PointerofSample(i) = 40 Then Ternary8.Add(Min1A(i), Min3A(i), Min2A(i), Color3(i))
If PointerofSample(i) = 41 Then Ternary9.Add(Min1A(i), Min3A(i), Min2A(i), Color3(i))
If PointerofSample(i) = 42 Then Ternary10.Add(Min1A(i), Min3A(i), Min2A(i), Color3(i))
If PointerofSample(i) = 43 Then Ternary11.Add(Min1A(i), Min3A(i), Min2A(i), Color3(i))
If PointerofSample(i) = 44 Then Ternary12.Add(Min1A(i), Min3A(i), Min2A(i), Color3(i))
If PointerofSample(i) = 45 Then Ternary13.Add(Min1A(i), Min3A(i), Min2A(i), Color3(i))
If PointerofSample(i) = 46 Then Ternary14.Add(Min1A(i), Min3A(i), Min2A(i), Color3(i))
Next i

'Pointer Styles
Ternary1.Pointer.Style = Steema.TeeChart.Styles.PointerStyles.Rectangle
Ternary2.Pointer.Style = Steema.TeeChart.Styles.PointerStyles.Circle
Ternary3.Pointer.Style = Steema.TeeChart.Styles.PointerStyles.Triangle
Ternary4.Pointer.Style = Steema.TeeChart.Styles.PointerStyles.DownTriangle
Ternary5.Pointer.Style = Steema.TeeChart.Styles.PointerStyles.Cross
Ternary6.Pointer.Style = Steema.TeeChart.Styles.PointerStyles.DiagCross
Ternary7.Pointer.Style = Steema.TeeChart.Styles.PointerStyles.Star
Ternary8.Pointer.Style = Steema.TeeChart.Styles.PointerStyles.Diamond
Ternary9.Pointer.Style = Steema.TeeChart.Styles.PointerStyles.SmallDot
Ternary10.Pointer.Style = Steema.TeeChart.Styles.PointerStyles.LeftTriangle
Ternary11.Pointer.Style = Steema.TeeChart.Styles.PointerStyles.RightTriangle
Ternary12.Pointer.Style = Steema.TeeChart.Styles.PointerStyles.Sphere
Ternary13.Pointer.Style = Steema.TeeChart.Styles.PointerStyles.Hexagon
Ternary14.Pointer.Style = Steema.TeeChart.Styles.PointerStyles.Nothing
ternarysteema2.jpg
ternarysteema2.jpg (24.02 KiB) Viewed 15458 times

Re: Ternary Tick Marks

Posted: Fri Oct 15, 2010 12:42 pm
by 15057312
and this how they should plot with
series.Pointer.Brush.Transparency = 100

When will the bug fix be released for the ternary series overprinting problem (blurry chart)?

ternary5.jpg
ternary5.jpg (22.21 KiB) Viewed 15511 times

Re: Ternary Tick Marks

Posted: Fri Oct 15, 2010 2:47 pm
by 10050769
Hello lilo,
Here is the result using your code...see picture. Also the bottom tick marks continue not to plot.
TChart1.Series.Chart.Axes.Left.Ticks.Visible = True
TChart1.Series.Chart.Axes.Right.Ticks.Visible = True
TChart1.Series.Chart.Axes.Bottom.Ticks.Visible = True

TChart1.Series.Chart.Axes.Left.Ticks.Length = 7
TChart1.Series.Chart.Axes.Right.Ticks.Length = 7
TChart1.Series.Chart.Axes.Bottom.Ticks.Length = 7

TChart1.Series.Chart.Axes.Left.Ticks.Width = 2
TChart1.Series.Chart.Axes.Right.Ticks.Width = 2
TChart1.Series.Chart.Axes.Bottom.Ticks.Width = 2
TChart1.Series.Chart.Axes.Bottom.Ticks.Color = Drawing.Color.Red
TChart1.Series.Chart.Axes.Left.Ticks.Color = Drawing.Color.Red
TChart1.Series.Chart.Axes.Right.Ticks.Color = Drawing.Color.Red
Thanks for your code. Finally I have understood what was the problem. I have added your request in the bug list with number [TF02015221], we will try to fix it for next maintenance releases.

On the other hand,Using next code and last version 4 transparency property works fine for me:

Code: Select all

 Steema.TeeChart.TChart tChart1;
        public Form1()
        {
            InitializeComponent();
            tChart1 = new Steema.TeeChart.TChart();
            this.Controls.Add(tChart1);
            tChart1.Dock = DockStyle.Fill;
            InitializeChart();
        }
        private void InitializeChart()
        {
            for (int i = 0; i < 12; i  )
            {
                new Steema.TeeChart.Styles.Ternary(tChart1.Chart);
                tChart1[i].FillSampleValues();
                (tChart1[i] as Steema.TeeChart.Styles.Ternary).Pointer.Visible = true;
                (tChart1[i] as Steema.TeeChart.Styles.Ternary).Pointer.Brush.Transparency = 0;
            }
        }
Could you please, tell us if using previous code transparency property works for you? if in previous example doesn't appear your problem, please modify it, because we can reproduce it here.

Thanks,

Re: Ternary Tick Marks

Posted: Sun Oct 17, 2010 11:03 am
by 15057312
Could you please, tell us if using previous code transparency property works for you? if in previous example doesn't appear your problem, please modify it, because we can reproduce it here.
Does not work if I plot 24 samples, 2 samples each pointer style. If I plot 12 samples, 1 sample each pointer style, works fine.

If I plot more than 1 sample each pointer style, does not work.

Ternary1.Pointer.HorizSize = 20 'SizeinPixels
Ternary1.Pointer.VertSize = 20
Ternary1.Pointer.Visible = True
Ternary1.Pointer.Brush.Transparency = 0
Dim i as integer
For i 1 to numberofsamples
Ternary1.Add(XVal(i), YVal(i), ZVal(i), PointerColor(i))
Next i

Re: Ternary Tick Marks

Posted: Sun Oct 17, 2010 11:33 am
by 15057312
Most of the time its the simple things :wink:

OK, problem is fixed if i remove the e.Style = Steema.TeeChart.Styles.PointerStyles.Sphere

If PointerofSample(e.ValueIndex) = 34 Then e.Style = Steema.TeeChart.Styles.PointerStyles.Circle
If PointerofSample(e.ValueIndex) = 35 Then e.Style = Steema.TeeChart.Styles.PointerStyles.Triangle
If PointerofSample(e.ValueIndex) = 36 Then e.Style = Steema.TeeChart.Styles.PointerStyles.DownTriangle
If PointerofSample(e.ValueIndex) = 37 Then e.Style = Steema.TeeChart.Styles.PointerStyles.Cross
If PointerofSample(e.ValueIndex) = 38 Then e.Style = Steema.TeeChart.Styles.PointerStyles.DiagCross
If PointerofSample(e.ValueIndex) = 39 Then e.Style = Steema.TeeChart.Styles.PointerStyles.Star
If PointerofSample(e.ValueIndex) = 40 Then e.Style = Steema.TeeChart.Styles.PointerStyles.Diamond
If PointerofSample(e.ValueIndex) = 41 Then e.Style = Steema.TeeChart.Styles.PointerStyles.LeftTriangle
If PointerofSample(e.ValueIndex) = 42 Then e.Style = Steema.TeeChart.Styles.PointerStyles.RightTriangle
'If PointerofSample(e.ValueIndex) = 43 Then e.Style = Steema.TeeChart.Styles.PointerStyles.Sphere '-remove this line
If PointerofSample(e.ValueIndex) = 44 Then e.Style = Steema.TeeChart.Styles.PointerStyles.Hexagon
If PointerofSample(e.ValueIndex) = 46 Then e.Style = Steema.TeeChart.Styles.PointerStyles.Nothing

Re: Ternary Tick Marks

Posted: Mon Oct 18, 2010 8:35 am
by 10050769
Hello lilo,

Thanks you for your code. I am glad that you have found the problem :).
On the other hand, I could reproduce your problem when I have added style pointer sphere and I have added your request in bug list with number [TF02015223]. We will try to fix it in next maintenance releases of TeeChart .Net.

Thanks,